因此,我正在开发我的第一个“大型”python项目(第二个GUI),它是一个简单的SQLite数据库管理器。到现在为止,这是看起来的。。。
在顶部,如您所见,有一个ChangeTable按钮和一个下拉列表,用于选择要切换到的表。在
我想做的是删除按钮,用ordenary标签替换它(这很容易做到),然后让选项菜单更改表自动选择另一个表。在
这就是我的改变。在
def change(self, root, c, tableToChangeTo, table, list_columns):
table = tableToChangeTo.get()
cursor = c.execute('select Rowid, * from ' + table)
list_columns = [description[0] for description in cursor.description]
self.clear()
self.table(root, c, table, list_columns)
self.addGui(root, c, table, list_columns)
self.editGui(root, c, table, list_columns)
self.delGui(root, c, table, list_columns)
self.changeGui(root, c, table, list_columns)
def changeGui(self, root, c, table, list_columns):
gridRow = self.rowTotal
self.changeButton = Button(root, text="Change Table", command= lambda: self.change(root, c, var, table, list_columns))
self.changeButton.grid(row = 0 , column = 0)
var = StringVar(root)
var.set(table)
options = {""}
global tableList
ta = tableList
for t in ta:
options.add(t)
self.changeOption = OptionMenu(root, var, *options)
self.changeOption.grid(row = 0, column = 1)
所以为了简洁明了,我想把它设置为当你选择另一个表时,它会自动运行change方法。最大的问题是我似乎不知道如何使一个方法成为一个事件,同时又能将变量传递给它。在
所以谢谢你的帮助,如果你还需要什么,请告诉我!在
对于其他任何和我有同样问题的人,我可以通过使用这行代码使我的工作正常。在
相关问题 更多 >
编程相关推荐