Qt5 QComboBox与QCheckBox多选择器

时间:2013-08-19 01:08:28

标签: qt user-interface qt-designer qcombobox multipleselection

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

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

我试过这个,但是当我尝试在现有应用中实现它时,它无效:ComboBox of 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);
}

1 个答案:

答案 0 :(得分:0)

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