【发布时间】:2013-04-01 23:32:47
【问题描述】:
我正在开发一个 UI,它可以读取数据库并在其中的项目发生更改时将其更新回来。我的 UI 包含一个 QListView,它由 QComboBoxes 填充。现在,我可以在组合框项更改时收到信号(尽管我无法获取已更改的小部件项的索引),并且我需要让父列表视图知道成员小部件的值已更改。关于如何让它发挥作用的任何想法?
【问题讨论】:
标签: qt user-interface pyside
我正在开发一个 UI,它可以读取数据库并在其中的项目发生更改时将其更新回来。我的 UI 包含一个 QListView,它由 QComboBoxes 填充。现在,我可以在组合框项更改时收到信号(尽管我无法获取已更改的小部件项的索引),并且我需要让父列表视图知道成员小部件的值已更改。关于如何让它发挥作用的任何想法?
【问题讨论】:
标签: qt user-interface pyside
获取小部件索引的一个简单技巧是将小部件索引编码到每个组合框项目的项目数据中。您可以将 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
【讨论】: