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

标签 c++ qt

我正在使用 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);
}

enter image description here

完成。

希望有帮助。

关于c++ - 如何在 Qt Designer 中创建可编辑的项目列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29246223/

相关文章:

java - 安卓 native Activity 。如何在其他线程中做一些工作?

c++ - QFileDialog:选择文件后添加后缀

qt - 使用 Qt 在 QGraphicsScene 中画线

c++ - Qt QStandardItem setCheckable(true) 不保存复选框状态

c++ - InDev 基于位的加密程序中未知的 C++ 堆损坏,C++ 编程的新手

c++ - 为什么 STL vector 不能包含协程对象?

c++ - 加载特定网站时 QtWebKit 2.2 段错误

qt - 阻塞 QFuture.result() 或 QFutureWatcher.waitForFinished();

c++ - 将 std::vector 复制到 boost::interprocess::vector

c++ - 无法将参数 1 从 'ATL::CStringT<wchar_t,ATL::StrTraitATL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>' 转换为 'const char *'