如何在Qt Designer中创建可编辑的项目列表?

时间:2015-03-25 02:04:36

标签: c++ qt

我正在使用Qt Designer创建一个Qt 5.4 GUI应用程序(实际上,我正在使用Qt Creator 3.3.2但还没有完成任何C ++;一切都在.ui文件中)。

我想创建一个包含(空)项目列表的框,用户可以在框中双击以向列表中添加新元素(可以单击或其他,无关紧要) )。

我只是无法通过设计师弄清楚如何做到这一点。我已经检查了“List Widget(基于项目)”和“List View(基于模型)”的属性,“editTriggers”中有一些选项,但即使选中了默认的“DoubleClicked”,编译的应用程序也是如此不允许添加新元素(或删除...)

使用设计器(不使用C ++)实现此目的的任何简单方法?

或者是否有另一个小部件更适合这个?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果你想制作这样一个小部件,只能在设计师中完全设置,你会问得太多。

如果你从一个List Widget开始并添加一堆空的命名元素,然后使所有这些元素都可编辑,那么你似乎只需双击即可添加一个元素。

要使您在列表中添加的现有元素可编辑,(在设计器中)双击列表小部件,然后

Edit Widget List

,点击加号,然后点击Properties。向下滚动到flags,然后选中Editable

这需要为添加的每个项目手动完成。

添加你要求的C ++是非常无痛的。

添加按钮。将其objectName重命名为addItemButton

然后右键单击它,并选择Go to slot...

选择clicked(),然后点击Ok

现在将以下内容放入广告位:

void MainWindow::on_addItemButton_clicked()
{
    QListWidgetItem * item = new QListWidgetItem("New Item");
    item->setFlags(item->flags() | Qt::ItemIsEditable);
    ui->listWidget->addItem(item);
}

enter image description here

完成。

希望有所帮助。