2

我使用 Qt Designer 设计了 ​​GUI,并在尝试创建具有多项选择的组合框时,我注意到我似乎无法通过等效的 .CPP 文件修改在 .UI 文件中创建的 GUI 元素。

所以基本上我想知道这是否是一个已知功能,我需要仅通过 .CPP 文件实现 GUI,还是我没有正确实现我的多项选择?我是 Qt 新手,有点困惑。

我试过这个,但是当我尝试在我现有的应用程序中实现它时它不起作用:CheckBoxes 的组合框?

这是我的代码的一部分。我初始化在 Qt Designer 中设计的 GUI,然后根据链接的答案创建一个新模型并为其分配数据,然后尝试将我的组合框之一的模型更改为新模型。当我运行应用程序时,组合框在那里但为空。

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    ...

    QStandardItemModel model(3, 1); // 3 rows, 1 col
    for (int r = 0; r < 3; ++r)
    {
        QStandardItem* item = new QStandardItem(QString("Item %0").arg(r));

        item->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
        item->setData(Qt::Unchecked, Qt::CheckStateRole);

        model.setItem(r, 0, item);
    }

    ui->comboBox_2->setModel(&model);
}
4

1 回答 1

0

我设法通过在头文件中将新模型声明为指针然后实例化它并将其分配给组合框来修复它。:D

于 2013-08-20T02:14:24.610 回答