Tkinter按钮命令执行

时间:2019-01-04 05:03:54

标签: python python-3.x tkinter

我确定这是一个重复的问题,但是我似乎找不到解决方法。也许这是我的搜索字词。无论哪种方式,为了简单起见,我都为实际尝试创建的模拟程序。看来,当我在tkinter中初始化按钮时,它会执行与该按钮关联的命令。对于在创建初始按钮小部件之后初始化的任何按钮都是如此。希望这是有道理的。这是演示我在说什么的完整代码。

from tkinter import *

class Application(Frame):
def __init__(self, master):
    super(Application, self).__init__(master)
    self.grid()
    self.create_start_button()

def create_start_button(self):
    self.bttnStart = Button(self)
    self.bttnStart["text"] = "Load new buttons"
    self.bttnStart["command"] = self.create_secondary_buttons

    self.bttnStart.grid(row=0,column=0,sticky=W)

def create_secondary_buttons(self):
    label_text = "This is a label"

    self.bttnTwo = Button(self)
    self.bttnTwo["text"] = "Load label"
    self.bttnTwo["command"] = self.create_label(label_text)

    self.bttnTwo.grid(row=1,column=0,sticky=W)

def create_label(self, label_text):
    self.lblLabel = Label(self)
    self.lblLabel["text"] = label_text

    self.lblLabel.grid(row=2,column=0,sticky=W)

root = Tk()
root.title("Button program")
root.geometry("500x600")
app = Application(root)
root.mainloop()

当我单击“加载新按钮”按钮时,它将执行create_secondary_buttons命令,而且还将执行self.bttnTwo命令self.create_label。

我是tkinter的新手,仍然在学习绳索。我曾尝试初始化create_start_button方法中的所有按钮,但这没有帮助。预先感谢!

0 个答案:

没有答案