我正在使用 Qt Designer 创建 Qt 5.4 GUI 应用程序(实际上,我正在使用 Qt Creator 3.3.2,但尚未完成任何 C++;所有内容都在 .ui 文件中)。
我想创建一个包含项目(空)列表的框,用户可以在框内双击以将新元素添加到列表中(可以单击或其他方式,并不重要) )。
我只是不知道如何只能通过设计师来做到这一点。我已经检查了“列表小部件(基于项目)”和“ ListView (基于模型)”的属性,并且“editTriggers”中有一些选项,但即使选中了默认的“DoubleClicked”,编译的应用程序不允许添加新元素(或删除...)
有什么简单的方法可以仅使用设计器(不使用 C++)来实现此目的?
或者是否有其他小部件更适合此目的?
谢谢!
最佳答案
如果你想制作这样一个小部件,只能在设计器中完全设置,你的要求有点太多了。
如果您从List Widget
开始并添加一堆空的命名元素,然后使它们全部可编辑,那么看起来您只需双击即可添加元素。
要使您添加到列表中的现有元素可编辑,(在设计器中)双击您的列表小部件,然后
在编辑小部件列表
中,单击加号,然后单击属性
。向下滚动到flags
,然后选中Editable
。
这需要为每个添加的项目手动完成。
添加您所要求的内容的 C++ 非常轻松。
添加一个按钮。将其 objectName
重命名为 addItemButton
。
然后右键单击它,然后选择转到插槽...
。
选择clicked()
,然后单击确定
。
现在将以下内容放入插槽中:
void MainWindow::on_addItemButton_clicked()
{
QListWidgetItem * item = new QListWidgetItem("New Item");
item->setFlags(item->flags() | Qt::ItemIsEditable);
ui->listWidget->addItem(item);
}
完成。
希望有帮助。
关于c++ - 如何在 Qt Designer 中创建可编辑的项目列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29246223/