如果语句被按下,tkinter按钮是否能够运行?

时间:2015-01-07 01:48:14

标签: python tkinter

我目前正在为一所学校的项目工作,并想知道我是否能够将按钮链接到一个if语句,该语句位于while循环中。这意味着我的程序将根据按下的按钮写入文件。我将所有这些都运行在一个函数中,使其全局化,以便随时附加文件。我还试图节省我必须为回调或按下按钮等其他功能的时间。

x = 1
while x == 1:

    if mainnav == True:
        file = open(usrnametext.get() + '.account', 'a')

        info = (usernametext.get() + passwrdtext.get())

        file.write("Register/Login" + "\n")
        file.write(info + "\n")
        file.write(daofbitxt.get() + "\n")
        file.write(emailtext.get() + "\n")
        file.write(heighttext.get())
        file.close()

        print("File successfully written")
        print("Continuing to main page")

这里只是我的意思的一个简单例子。 mainnav是一个按钮,按下时将写入用户帐户。

1 个答案:

答案 0 :(得分:2)

我写了一些示例,虚拟代码,显示了如何使用几个按钮,并根据哪个按钮执行某些操作:

from tkinter import *


class TestFrame(Frame):
    def __init__(self, master = None, **kwargs):
        super().__init__(master, **kwargs)


        self.btns = []

        self.btns.append(Button(self, text="Option 0", command = lambda: self._callback(0)))
        self.btns.append(Button(self, text="Option 1", command = lambda: self._callback(1)))
        self.btns.append(Button(self, text="Option 2", command = lambda: self._callback(2)))

        for btn in self.btns:
            btn.pack()


        self.pack()

    def _callback(self, b_id):
        print("Pressed Option " + str(b_id))
        # do other stuff based on which button was clicked



root = Tk()

tf = TestFrame(root)

root.mainloop()

代码创建一个带有三个按钮的框架。 _callback打印按下了哪个按钮。所以,你的if语句进入_callback方法。希望这会有所帮助。

enter image description here