C++ 如何使用QSqlQueryModel将项动态添加到QComboBox
我是QT新手,正在学习如何填充QComboBox。我知道QComboBox的addItem()方法用于添加新项。但就我而言,它不起作用。下面是我代码的相关部分C++ 如何使用QSqlQueryModel将项动态添加到QComboBox,c++,qt,qcombobox,C++,Qt,Qcombobox,我是QT新手,正在学习如何填充QComboBox。我知道QComboBox的addItem()方法用于添加新项。但就我而言,它不起作用。下面是我代码的相关部分 QSqlQuery q; q.prepare("SELECT fname from Person"); if(q.exec()) { QSqlQueryModel *model = new QSqlQueryModel(this); model->setQuery
QSqlQuery q;
q.prepare("SELECT fname from Person");
if(q.exec())
{
QSqlQueryModel *model = new QSqlQueryModel(this);
model->setQuery(q);
ui->comboFName->setModel(model);
db.close();
}
QString item = "XYZ";
ui->comboFName->addItem(item);
我的QComboBox正在填充来自QSqlQueryModel的数据,但手动插入addItem()不起作用。您应该决定是使用模型还是手动方式添加项,因为使用这两种方式都会导致奇怪的行为。一旦设置UIComponent的模型,它将成为项的源,它将从此模型中填充 QSqlQueryModel是只读的,因此您不能修改它(类引用页) 无法将项添加到此SQL结果模型 要添加项,必须清除(函数clear())模型,然后使用函数AddItem 希望这会有所帮助