作者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/m.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