PyQ中字典的通用值编辑器GUI

2024-04-27 20:22:02 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个充满参数的字典:

{speed = 1, intelligence = 3, dexterity = 2}

我想调用一个循环,为这个列表中的每个项按程序创建一个Label和一个SpinBox,以备以后添加更多属性。我可以创建窗口并返回更新后的值。我唯一的问题是,我希望根据需要创建所有小部件,不管我有7个还是20个属性要编辑。在

所以label对象可以被称为speed_Label,智能标签对象intelligence_Label,包含速度值的spinbox将是speed_SpinBox等等,这样我就可以很容易地将其传回。然而,这

a)似乎是糟糕的命名实践

b)似乎很难理解,因为我无法找到如何按程序命名对象,例如

^{pr2}$

Tags: 对象编辑列表参数字典属性智能部件
1条回答
网友
1楼 · 发布于 2024-04-27 20:22:02

为什么不简单地使用列表或dict?在

这样的方法应该有效:

widgets = {}
form = QFormLayout()
for key, value in your_dict.iteritems():
    widgets[key] = widget = {}
    widget['spinbox'] = spinbox = QSpinBox()
    spinbox.setValue(value)
    form.addRow(key, spinbox)

相关问题 更多 >