【问题标题】:Getting a signal to a QListView when its populated by QComboBoxes当 QListView 由 QComboBoxes 填充时获取信号
【发布时间】:2013-04-01 23:32:47
【问题描述】:

我正在开发一个 UI,它可以读取数据库并在其中的项目发生更改时将其更新回来。我的 UI 包含一个 QListView,它由 QComboBoxes 填充。现在,我可以在组合框项更改时收到信号(尽管我无法获取已更改的小部件项的索引),并且我需要让父列表视图知道成员小部件的值已更改。关于如何让它发挥作用的任何想法?

【问题讨论】:

    标签: qt user-interface pyside


    【解决方案1】:

    获取小部件索引的一个简单技巧是将小部件索引编码到每个组合框项目的项目数据中。您可以将 QString 设置为 itemData ,它编码对您的标准项目数据和小部件索引的引用,例如

    pComboBox1->setItemText(1, "Item 1");
    pComboBox1->setItemData(1, "1-1"); 
    pComboBox1->setItemData(2, "Item 2");
    pComboBox1->setItemData(2, "2-1"); // Item 2 in 1st combo box
    pComboBox2->setItemText(1, "Item 1");
    pComboBox2->setItemData(1, "1-2"); // Item 1 in 2nd combo box
    // and so on
    

    【讨论】:

    • 是的,这就是我们最终要做的,尽管我们使用了指向项目数据对象的指针。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    相关资源
    最近更新 更多