【问题标题】:Inserting hidden data into a combobox pyqt将隐藏数据插入组合框pyqt
【发布时间】:2015-09-12 05:59:58
【问题描述】:

我不确定这是否可以完成,或者是否有更好的方法。尽管如此,我有一个数据库,我可以从中将很多项目插入到组合框中,但是要搜索和删除特定数据,我需要能够将每一行的 id 放置在组合框中。但是我不完全确定如何使用 PyQT 做到这一点。

如果有人可以帮助我,我将不胜感激。如果那些 id 在那里,那肯定会让我的生活更轻松,但我不能展示它们,因为普通用户不可能理解它们。

【问题讨论】:

    标签: python combobox pyqt4 qcombobox


    【解决方案1】:

    adding items 的标准 API 已经完全符合您的要求:

    # add some items with associated data
    for identifier in (123, 456, 789):
        combo.addItem('text', identifier)
    

    通过为每个项目使用不同的角色(默认角色为QtCore.Qt.UserRole),可以将多个数据与每个项目关联:

    combo.setItemData(index, 'other data', QtCore.Qt.UserRole + 1)
    

    然后您可以通过数据/角色find items

    index = combo.findData(456)
    if index >= 0:
        print(combo.itemData(index, QtCore.Qt.UserRole + 1)) # prints "other data"
    

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 1970-01-01
      相关资源
      最近更新 更多