【发布时间】:2016-10-26 09:34:45
【问题描述】:
我对 Qt 还是很陌生,但我正在开发一种计算器,并希望使用组合框来选择系数。我已经成功地在 pyGT 中创建了一个带有列表存储的组合框,但看起来 pyQT 完全不同。
我很难理解数据模型和列表模型。本质上,我希望在组合框中显示一个名称,并将该名称的值传递给计算器方程。到目前为止,我所看到的一切都只是单个条目,而不是“关联”条目。
任何人都可以解释或指向一个教程来指导我完成我想要完成的工作吗?
【问题讨论】:
我对 Qt 还是很陌生,但我正在开发一种计算器,并希望使用组合框来选择系数。我已经成功地在 pyGT 中创建了一个带有列表存储的组合框,但看起来 pyQT 完全不同。
我很难理解数据模型和列表模型。本质上,我希望在组合框中显示一个名称,并将该名称的值传递给计算器方程。到目前为止,我所看到的一切都只是单个条目,而不是“关联”条目。
任何人都可以解释或指向一个教程来指导我完成我想要完成的工作吗?
【问题讨论】:
您可以使用addItem 来添加具有关联值(数据)的名称(文本):
self.combo.addItem('Foo', 23)
self.combo.addItem('Bar', 42)
一个插槽可以连接到组合框的activated信号,它将发送用户选择的项目的索引:
self.combo.activated.connect(self.handleActivated)
然后您可以使用itemText 和itemData 通过index 参数访问名称和值:
def handleActivated(self, index):
print(self.combo.itemText(index))
print(self.combo.itemData(index))
【讨论】: