its*_*nob 2 tkinter python-3.x
我正在尝试创建小部件网格。这个小部件网格从告诉我它们坐标的标签开始。然后我有一个将替换它们的按钮的起点和终点列表。假设我有一个从 (0, 0) 到 (0, 2) 的按钮,我从这个位置移除标签并在那里放置一个具有正确行跨度的按钮。如果一个按钮将替换另一个按钮(而不仅仅是一个标签),我创建一个框架,然后我想克隆该按钮作为更改父级的一种方式(我已经读过这不是 tkinter 的可能性)并添加框架上的新按钮也是如此。然后,框架将用并排而不是重叠的按钮替换网格上的小部件(标签和旧按钮)。
所以这个示例图像显示了一个标签网格,然后是放置第一个按钮的位置,然后是第二个按钮应该放置的位置,以及两个按钮并排放置的结果框架。
对我来说最大的问题是必须删除第一个按钮并将其重新放置在网格上,因为无法更改小部件的父级。尽管我也欢迎在网格上并排放置按钮的更好想法。
没有直接的方法来克隆小部件,但 tkinter 为您提供了一种方法来确定小部件的父级、小部件的类以及小部件的所有配置值。此信息足以创建副本。
它看起来像这样:
def clone(widget):
parent = widget.nametowidget(widget.winfo_parent())
cls = widget.__class__
clone = cls(parent)
for key in widget.configure():
clone.configure({key: widget.cget(key)})
return clone
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2126 次 |
| 最近记录: |