代碼的想法是創建 N 個按鈕,這些按鈕在按下時將文本復制到剪貼板,覆寫并保存上次按下按鈕的文本。
from tkinter import *
import tkinter
r = Tk()
age = '''
O.o
giga
'''
gage = 'vrum'
r.title("getherefast")
def gtc(dtxt):
r.withdraw()
r.clipboard_clear()
r.clipboard_append(dtxt)
r.update()
tkinter.Button(text='age', command=gtc(age)).grid(column=1, row=0)
tkinter.Button(text='gage', command=gtc(gage)).grid(column=2, row=0)
r.mainloop()
使用此代碼,我希望獲得 2 個按鈕“年齡”和“量具”,當我按下它們分別獲取保存在 var 中的值時。
問題是 tkinter UI 沒有加載,空閑視窗只是打開。
結果是我將“vrum”復制到剪貼板(如果年齡按鈕是唯一的 1,我會得到正確的值,但仍然沒有來自 tkinter 的 GUI)。
作為附加資訊,我正在 IDLE、Python 3.10 中撰寫和測驗代碼。
uj5u.com熱心網友回復:
問題是 tkinter UI 沒有加載
是的,但你告訴它withdraw(),所以你看不到它。
為此,您需要一個部分或 lambda 函式,您不能在命令引數中使用普通函式呼叫。試試這個:
import tkinter
r = tkinter.Tk()
age = '''
O.o
giga
'''
gage = 'vrum'
r.title("getherefast")
def gtc(dtxt):
r.clipboard_clear()
r.clipboard_append(dtxt)
tkinter.Button(text='age', command=lambda: gtc(age)).grid(column=1, row=0)
tkinter.Button(text='gage', command=lambda: gtc(gage)).grid(column=2, row=0)
r.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/419071.html
標籤:
