Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 使用QComboBox编辑引用另一个QAbstractTableModel的QAbstractTableModel中的ForeignKey_Qt_View_Combobox_Model_Qcombobox - Fatal编程技术网

Qt 使用QComboBox编辑引用另一个QAbstractTableModel的QAbstractTableModel中的ForeignKey

Qt 使用QComboBox编辑引用另一个QAbstractTableModel的QAbstractTableModel中的ForeignKey,qt,view,combobox,model,qcombobox,Qt,View,Combobox,Model,Qcombobox,我目前正在使用Model/View体系结构在Qt中编程一个应用程序,现在遇到了一个到目前为止还没有找到解决方案的问题 问题是: 我有两个AbstractTable模型:客户模型和国家模型。 这两个模型都有一个Id字段,其中填充了GUID和一些其他字段,用于存储关于它们的信息 客户模型还有一个国家/地区ID字段,用于存储对国家/地区模型中记录的引用。就像SQL中的外键一样 现在,我想使用QCombobox在我的应用程序中编辑此字段。 因此,我将组合框的模型设置为国家/地区模型,并使用QDataWi

我目前正在使用Model/View体系结构在Qt中编程一个应用程序,现在遇到了一个到目前为止还没有找到解决方案的问题

问题是: 我有两个AbstractTable模型:客户模型和国家模型。 这两个模型都有一个Id字段,其中填充了GUID和一些其他字段,用于存储关于它们的信息

客户模型还有一个国家/地区ID字段,用于存储对国家/地区模型中记录的引用。就像SQL中的外键一样

现在,我想使用QCombobox在我的应用程序中编辑此字段。 因此,我将组合框的模型设置为国家/地区模型,并使用QDataWidgetMapper将此组合框连接到客户模型。 只要组合框显示国家/地区模型的ID字段,这一点就非常有效。 但是我需要显示国家的名称而不是ID

在我寻找解决方案的过程中,我找到了几乎解决我问题的方法。使用学员提供选择的部分。 但是在这里,他们假设Id字段与Combobox的currentIndex匹配,这在我的例子中不起作用,因为Id字段是guid

我对如何解决这个问题有点不知所措。我可以通过委托人解决问题吗?或者我可以将客户模型与国家/地区模型连接起来吗?或者我应该为国家/地区模型使用不同的模型类型吗

由于我对这门语言相当陌生,任何帮助都将不胜感激