作者pyang707 (彼得羊)
看板Python
标题[问题] 如何用tkinter呈现出print的结果?
时间Mon Sep 7 17:13:56 2020
各位先进大家好,请问要如何使用tkinter,
让print得到的结果,
能够在GUI视窗介面内显示出来呢?
谢谢
程式码如下:
import tkinter as tk
win = tk.Tk()
win.title("乘法")
win.geometry("200x200")
note = tk.Label(text="点击得到结果")
note.pack()
def times():
for i in range(10, 0, -1):
note.config(text="结果")
print(5, "x", i, "=", 5*i)
btn = tk.Button(text="点击")
btn.config(command=times)
btn.pack()
tk.mainloop()
点击按钮後,print的结果要如何显示在视窗内
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.231.138.192 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1599470038.A.AB8.html
1F:推 skyconquer: 在 "def times():" 这个函数中的for loop加上: 09/07 20:18
2F:→ skyconquer: s = str(5) + "x" + str(i) + "=" + str(5*i) 09/07 20:18
3F:→ skyconquer: n = tk.Label(text = s) 09/07 20:19
4F:→ skyconquer: n.pack() 09/07 20:19
5F:→ skyconquer: 这三行都要放在for loop 里面 09/07 20:19
6F:→ tsaiminghan: 这程式码应该不通吧。 09/07 20:45
7F:→ tsaiminghan: 所有tk.XXX宣告都没有把win传进去 09/07 20:46
8F:→ tsaiminghan: 我错了,原来可以这样写.. 09/07 20:48
9F:→ tsaiminghan: 你的问题应该是要找个元件可以放字串,随便找一下就 09/07 20:50
10F:→ tsaiminghan: 有了吧 09/07 20:50
11F:→ tsaiminghan: def times(): 09/07 20:58
12F:→ tsaiminghan: s='' 09/07 20:58
13F:→ tsaiminghan: for i in range(10, 0, -1): 09/07 20:58
14F:→ tsaiminghan: s += f'5 * i = {5*i}\n' 09/07 20:58
15F:→ tsaiminghan: note.config(text=s) 09/07 20:59
16F:→ tsaiminghan: 直接把字串放到note(ps.要用python3跑) 09/07 20:59
17F:→ pyang707: 谢谢大家的推文~ 09/16 23:54