我目前正在为一所学校的项目工作,并想知道我是否能够将按钮链接到一个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是一个按钮,按下时将写入用户帐户。
答案 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
方法。希望这会有所帮助。