1 回答

TA貢獻1817條經(jīng)驗 獲得超14個贊
你說你不想使用這個eval函數(shù),所以你可以使用標(biāo)簽列表,這使得你的代碼更短:
import tkinter as tk
class example:
def __init__(self, master):
self.master = master
self.lbl1 = tk.Label(self.master, text="Old Value Test 1")
self.lbl1.grid(column=0, row=0)
self.lbl2 = tk.Label(self.master, text="Old Value Test 2")
self.lbl2.grid(column=0, row=1)
self.lbls = [self.lbl1, self.lbl2]
self.myfunction(1)
self.myfunction(2)
def myfunction(self, input_num):
self.lbls[input_num - 1]["text"] = f"New Value {input_num}"
def main():
root = tk.Tk()
example_win = example(root)
root.mainloop()
if __name__ == '__main__':
main()
使用這段代碼,我確實假設(shè)您有一個來自input_num變量的整數(shù),而不是您在示例中顯示的字符串。
如果您不使用 Python 3,則無法利用f-string。
希望這可以幫助,
添加回答
舉報