Qt 是否可以将QCOMBOX复制到另一个QCOMBOX
我使用Qt设计器构建我的UI布局。在布局上,我有一个名为Qt 是否可以将QCOMBOX复制到另一个QCOMBOX,qt,pyqt,qt-designer,qcombobox,Qt,Pyqt,Qt Designer,Qcombobox,我使用Qt设计器构建我的UI布局。在布局上,我有一个名为cb\u fac\u cd的组合框。在我的代码中,我有一个函数,它将根据我试图构建的列表自动构建一个组合框。我在数据库中定义了很多这样的列表,这个函数会弹出一个QComboBox 不幸的是,到目前为止,我只使用此函数将cellWidgets添加到QTableWidgets。它在那里工作得很好。现在我想填充这个预先存在的组合框 这似乎是一个简单的问题 self.ui.cb\u fac\u cd=makeComboBox(“设施”)不工作。我可
cb\u fac\u cd
的组合框。在我的代码中,我有一个函数,它将根据我试图构建的列表自动构建一个组合框。我在数据库中定义了很多这样的列表,这个函数会弹出一个QComboBox
不幸的是,到目前为止,我只使用此函数将cellWidgets添加到QTableWidgets。它在那里工作得很好。现在我想填充这个预先存在的组合框
这似乎是一个简单的问题
self.ui.cb\u fac\u cd=makeComboBox(“设施”)
不工作。我可以看到该函数像往常一样返回QComboBox,但是cb_fac_cd组合框仍然没有填充
如何将返回的组合框复制或分配给内置的Qt设计器
我正在使用PyQt,但这不会有任何区别。据我所知,您不能替换由Qt的UIC机制生成的.h文件中的对象(尽管我现在无法100%确认) 在这种情况下,我通常会在ui文件中设置一个空布局,然后执行以下操作: (注意,我使用的是Qt/C++语法,因为我不知道pyqt语法,但我想您会明白的)
另外,如果可能的话,考虑使用枚举,而不是使用MaKeCoMBOX函数的字符串。这通常更快更安全。
听起来你也应该这样做您可以将Ui中的模型更改为从其他组合框中获得的模型:
tempCombo = makeComboBox( "FACILITIES" )
self.ui.cb_fac_cd.setModel(tempCombo.model())
但对于这一部分: 我在数据库和这个函数中定义了很多这样的列表 吐出一个QComboBox。不幸的是,到目前为止,我只使用这个函数来添加 cellWidgets到QTableWidgets
如果数据来自数据库,您可能希望查看以避免手动执行此操作。更多代码将有助于找到问题。将组合框传递到此函数的位置?组合框在哪里填充?
tempCombo = makeComboBox( "FACILITIES" )
self.ui.cb_fac_cd.setModel(tempCombo.model())