我使用Qt设计器设计了GUI,在尝试创建具有多个选择的组合框时,我注意到我似乎无法通过等效的.UI文件修改在.CPP文件中创建的GUI元素。
基本上,我想知道这是一个已知的特性,我需要仅仅通过.CPP文件来实现GUI,还是没有正确地实现我的多个选择?我刚开始接触Qt,有点困惑。
我尝试过这样做,但是当我尝试在我现有的应用程序:ComboBox of CheckBoxes?中实现它时,它不起作用。
这是我的一段代码。我初始化了在Qt设计器中设计的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);
}发布于 2013-08-20 02:14:24
我将新模型声明为头文件中的指针,然后实例化它并将其分配给组合框,从而修复了它。:D
https://stackoverflow.com/questions/18305196
复制相似问题