【发布时间】:2017-10-13 11:06:34
【问题描述】:
我正在构建一个表格,使用 ttk.Entry 和 `ttk.Combobox'(行和列 - 行数可能不同)。
用户应该能够使用放置在 GUI 上的“删除按钮”删除该表的整行。
- 要删除的行可以放在任何位置(第一个、最后一个、中间的任何位置)。
- 无需在每行的末尾/开头添加“复选框”小部件来标记所需的行。
试过了:
a) 使用focus_get() 确定Entry 的行号,然后删除整行小部件。 但是,当按下“Delete Button”时,focus_get() 会从 Entry 变为 Button,并且“Delete Button”被删除了。
b) 我没有尝试过,但是有一种方法使用类绑定到整个,但它似乎并不优雅。
知道什么是“正确”的方法吗?
【问题讨论】:
-
将最后选择的行保存在变量中。按下按钮时将其删除。哪个部分难?
-
@stark 到
bind每个小部件?希望有更好的方法 -
在 validate 方法中设置变量。
-
请告诉我们minimal reproducible example。我假设您正在使用 ttk 按钮,但您没有明确说明。
-
您可以在自己的框架中创建每一行,然后在可用于
destroy()框架的行旁边有一个x按钮。
标签: python user-interface tkinter