c++ - 如何使用 QSqlQueryModel 将 Item 动态添加到 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(q);

        ui->comboFName->setModel(model);

        db.close();
    }

    QString item = "XYZ";

    ui->comboFName->addItem(item);

我的 QComboBox 正在填充来自 QSqlQueryModel 的数据,但手动插入 addItem() 不起作用。

最佳答案

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

关于c++ - 如何使用 QSqlQueryModel 将 Item 动态添加到 QComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26549412/

相关文章:

python - 项目数较多的 QComboBox 初始显示性能缓慢

c# - 在 Windows 应用商店应用程序中组合位图图像的最简单方法是什么

c++ - `[ ]` 算子导致 map 编译错误

C++ priority_queue size() 问题

c++ - Qt 线程计算输出到 GUI 中的自己的小部件?

c++ - QTableView 导出到 .csv 获取的行数仅限于 256

C++ 整数乘法 : explain this behaviour

c++ - QWidget::heightForWidth() 未被调用

python - 如何使用 CSV 文件中的元素填充 QComboBox

c++ - 如何在qt中的QTableWidget中获取comboBox项后的行号