【发布时间】:2013-08-19 01:08:28
【问题描述】:
我使用 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);
}
【问题讨论】:
-
I tried this but it's not working when I try to implement it within my existing app: ComboBox of CheckBoxes?您将不得不提供更多有关此的信息。什么不工作?显示一些你尝试过的代码。 -
我自己运行了另一个问题的答案中给出的代码,当然,它可以完美地工作,但是当我尝试创建一个模型时,使用该答案中提供的确切代码,然后分配将它添加到我的应用程序中的现有组合框,该框显示为空。 (如,我点击了下拉菜单,没有任何反应)
-
向我们展示您的代码。向我们展示您创建模型的部分,向其中添加项目并将其设置到组合框。
-
有什么想法吗?
标签: qt user-interface qt-designer qcombobox multipleselection