在Tkin中单击按钮时如何调用操作

2024-03-29 08:22:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我是第一次尝试Tkinter,并试图在单击按钮时调用函数。这是我代码的一部分。mt指的是一个标签,我把它附加到一个标签上,这样我就可以更改标签上的内容。我希望用户能够在输入框中输入一些内容,点击按钮,它将把标签更改为输入的内容。

    def new(self):
        mt.set("New")
        e1 = Entry(master)
        e1.pack()
    def new_ok(self):
        mt.set("OK")
        #the next part is what I need help with
        if (checks if button has been clicked) button has been clicked:
            mt.set("#what it says in the entry box#")

我该怎么做?我看了一些教程并阅读了它们,但是没有一个清楚地知道如何检查按钮是否被按下并做出响应。


Tags: theself内容newifdefbutton标签
2条回答

如果问题是:“如何更新标签小部件?”
那么答案就是小部件的configure方法。

# Tkinter in Python 2.7 & tkinter in 3.2
import Tkinter as tk

class GUI(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)

        bF = tk.Frame(self, bd=8, relief='sunken')
        bF.pack(expand='true', fill='x')
        changeButton = tk.Button(bF, text='Change', bd=4, fg='white',
                                relief='groove', activebackground='green',
                                command=self.change_label)
        changeButton.pack()

        self.entryLabel = tk.Label(self, text='Hello')
        self.entryLabel.pack()

        self.mEntry = tk.Entry(self, bd=4, relief='sunken')
        self.mEntry.pack()

    def change_label(self):
        data = self.mEntry.get()
        self.entryLabel.configure(text=data)


gui = GUI()
gui.mainloop()

您将希望使您的GUI成为本例中的类;
这样你就可以利用自我。前缀以引用在其他方法中生成的小部件。

在您的示例中,您可能会说“mt”是一个control variable
答案仍然是上课,这样你就可以利用自我了。前缀。

控制变量可能不需要,除非您希望
更改条目小部件内容时要更新的标签:

import Tkinter as tk

class GUI(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)

        bF = tk.Frame(self, bd=8, relief='sunken')
        bF.pack(expand='true', fill='x')

        var = tk.StringVar()
        var.set('Hello')
        entryLabel = tk.Label(self, textvariable=var)
        entryLabel.pack()

        mEntry = tk.Entry(self, bd=4, relief='sunken', textvariable=var)
        mEntry.pack()

gui = GUI()
gui.mainloop()

我不是Tkinter wiz,但我在Tkinter的模块文档中看到的第一件事是A Simple Hello World Program,其中包含了您的问题的答案。(与大多数GUI工具包一样,答案是回调函数或事件处理函数。)成员函数say_hiHello按钮的回调函数。

相关问题 更多 >