2024-04-25 00:55:26 发布
网友
我对使用tkinter和GUI编程还不熟悉,所以这可能是一个非常基本的问题。无论如何,假设我有一组按钮供用户选择,我想要的是用户单击的所有按钮对象的列表。基本上,我想知道用户点击了哪些按钮。在
在每个按钮上,您可以设置命令以将它们添加到单击的按钮列表中。在
clicked = [] foo = Button(root, text='bar', command=lambda self:clicked.append(self))
不确定语法是否正确,但这是基本思想。在
下面是一个介绍Python事件的好网站,可以指导您:
http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
听起来你可能想要一个类似于复选框的东西,如果是这样的话:
Cannot understand how to get data from checklistbox in wxpython
下面是一个简单的例子,您可以做些什么来确定按钮是否被按下。在
import tkinter.ttk, functools class Example(tkinter.Tk): def __init__(self, buttons): super().__init__() self.button_set = set() for button in range(buttons): button = tkinter.ttk.Button(self, text='Button '+str(button)) button.pack() self.button_set.add(button) self.setup_buttons() self.bind('<Escape>', self.check_buttons) self.mainloop() def setup_buttons(self): for button in self.button_set: button['command'] = \ functools.partial(setattr, button, 'pressed', True) button.pressed = False def check_buttons(self, event): for button in self.button_set: print('Button {} has{} been pressed.'.format(id(button), (' not', '')[button.pressed])) if __name__ == '__main__': Example(5)
当代码运行时,您可以按Escape键在控制台中打印出所按下的按钮。按这些按钮将把它们的pressed属性设置为true,并且您可以得到另一个按钮被按下的打印输出。在编程上,您将按照check_buttons方法中的示例来确定按钮是否被按下。在
Escape
pressed
check_buttons
在每个按钮上,您可以设置命令以将它们添加到单击的按钮列表中。在
不确定语法是否正确,但这是基本思想。在
下面是一个介绍Python事件的好网站,可以指导您:
http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
听起来你可能想要一个类似于复选框的东西,如果是这样的话:
Cannot understand how to get data from checklistbox in wxpython
下面是一个简单的例子,您可以做些什么来确定按钮是否被按下。在
当代码运行时,您可以按
Escape
键在控制台中打印出所按下的按钮。按这些按钮将把它们的pressed
属性设置为true,并且您可以得到另一个按钮被按下的打印输出。在编程上,您将按照check_buttons
方法中的示例来确定按钮是否被按下。在相关问题 更多 >
编程相关推荐