Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何为QListView实现可点击的小部件?_Qt_Qwidget - Fatal编程技术网

Qt 如何为QListView实现可点击的小部件?

Qt 如何为QListView实现可点击的小部件?,qt,qwidget,Qt,Qwidget,我想为QListView实现我自己的小部件。这样地: 如果我点击这个小部件,我想做点什么 最后,我只对ListView的QML版本有经验。 有人能解释一下如何将这个小部件插入QListView吗 问候 更新 在我的项目中,我需要这样一个GUI: 在我的第一个ListView中,我想显示也有ListView的项目。每个项目的文本都可以更新。有两种方法: 为每个索引设置自定义小部件:。注意:与小部件的交互可能存在问题。这种方式通常仅用于显示静态内容 创建自定义并重写editorEvent方法。有关详

我想为QListView实现我自己的小部件。这样地: 如果我点击这个小部件,我想做点什么

最后,我只对ListView的QML版本有经验。 有人能解释一下如何将这个小部件插入QListView吗

问候

更新

在我的项目中,我需要这样一个GUI: 在我的第一个ListView中,我想显示也有ListView的项目。每个项目的文本都可以更新。

有两种方法:

  • 为每个索引设置自定义小部件:。注意:与小部件的交互可能存在问题。这种方式通常仅用于显示静态内容
  • 创建自定义并重写editorEvent方法。有关详细信息,请参阅
  • 更新: 我建议你下一个设计:

  • 使用图像列表+动态内容+标签创建小部件
  • 创建垂直布局的滚动区域,并在其中添加小部件(1.)
  • (2.)比简单的listview优先,因为listview不适用于此类情况。Listview设计用于显示一些数据,但不是其他复杂小部件的容器

    优点:您将拥有完全可交互的小部件


    缺点:您需要编写一点代码;)

    多谢各位。我还想将QListView添加到QListView的项中。有可能吗?有可能,但不推荐(imho,因为你会有很多问题)。我相信应该有另一个解决办法——你能更准确地解释一下你想要什么吗?(可能是另一个问题)谢谢!想法2…简单…但很棒!:)谢谢你的帖子。也许我想稍后按范围对我的小部件进行排序。在ListView中,我可以非常高效地对项目进行排序。“垂直布局方法”是否也提供此功能?是的,但应手动执行:)。这只是几行代码。