我正在學習一個項目的GUI。我在GUI中的所有按鈕都與我創建的函數綁定。這些函數調用已經預定義的函數。對於一些預定義的函數,我需要一個或兩個參數,我已經用條目解決了這個問題。我在連接到特定按鈕的正確條目中鍵入參數,當我按下按鈕時,函數將與相應的參數一起運行。Tkinter,將函數保存到列表中,然後運行它們
我想要做的事情就是在某種程度上,當我按下一個按鈕,該功能應該被保存到一個列表,而不是馬上執行。當我按下「運行」按鈕(我將創建一個新按鈕)時,我的列表中的所有內容都將被執行。我一直在考慮使用列表框,但我不知道它們是如何工作的,或者它甚至有可能運行包含許多函數的列表框。有人對我有任何想法或解決方案嗎?我可以使用此列表框還是有其他更好的使用方法?
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.entry1 = IntVar()
self.entry2 = IntVar()
def do_something():
value1 = self.entry1.get()
value2 = self.entry2.get()
self.listbox.insert(END, "predefined_function(value1, value2)")
def run_listbox_contents():
pass
self.button = Button(frame, text="Move", command=lambda: do_something())
self.button.pack(side=TOP)
self.entry1.set("value1")
self.entry = Entry(frame, textvariable=self.entry1)
self.entry.pack(side=TOP)
self.entry2.set("value2")
self.entry = Entry(frame, textvariable=self.entry2)
self.entry.pack(side=TOP)
self.listbox = Listbox(master)
self.listbox.pack(side=TOP)
root = Tk()
app = App(root)
root.title("Mindstorms GUI")
root.geometry("800x1200")
root.mainloop()
root.destroy()
因爲我對編程完全陌生,所以MVC不是我之前聽說過的。但我想我明白這一點,你的意思。假設我將「Predfined_function value1 value 2」保存爲列表框的一個字符串,我將使用函數run_listbox()。我有什麼要寫,以便該函數解析所有我的字符串,然後調用它們(在這種情況下,Predfined_function(value1,value2)?由於我新編程,我不認爲我遇到了解析尚未 – user3067156
@ user3067156更新。 – Skyler
如果我在列表框中有三個字符串,比如「Predefined_function1 value1 value2」,「Predfined_function2 value1」和「Predefined_function3(這個是確實的不需要參數)。我必須寫什麼才能讓列表框中的每個字符串都被稱爲handle_string?是否只寫了handle_string =「」(通常是一個字符串),還是我在另一種方式?希望你明白我在問什麼問題 – user3067156