首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用QComboBox动态添加QSqlQueryModel项

如何使用QComboBox动态添加QSqlQueryModel项
EN

Stack Overflow用户
提问于 2014-10-24 13:58:27
回答 2查看 1.7K关注 0票数 1

我对QT很陌生,并学习如何填充QComboBox。我知道addItem()方法的QComboBox添加新的项目。但就我而言,这是行不通的。下面是我的代码的相关部分。

代码语言:javascript
复制
    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()不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-24 14:14:54

您应该决定是使用模型还是手动方式添加项,因为使用这两种方式都会导致奇怪的行为http://www.qtcentre.org/threads/15391-QComboBox-gt-setModel-gt-Strange-behaviour

票数 2
EN

Stack Overflow用户

发布于 2014-10-24 14:18:50

一旦您设置了UIComponent模型--它将成为项的源--它将从该模型中填充。

QSqlQueryModel是只读的,所以您不能修改它(类引用页http://qt-project.org/doc/qt-5/qsqlquerymodel.html)。

不能向此SQL结果模型添加项。

要添加项,必须清除模型(函数clear()),然后使用函数AddItem。

希望这能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26549412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档