问题标签 [qitemdelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
211 浏览

python - QListView 中的模态对话框编辑

我是 QT/PyQt4 的初学者,我正在尝试制作一个QListView显示自定义对象。

它应该 :

  1. 具有显示多行文本(可能是图像)的自定义行小部件
  2. 每当我双击一个项目时触发一个模式对话框而不是内联编辑字段

AQItemDelegate似乎是正确的选择,但我不知道如何将它正确地用于#1 或#2。有任何想法吗?

0 投票
1 回答
965 浏览

c++ - QTableWidget - 组合框委托我如何允许每个单元格使用不同的选项

阿罗哈

我有一个带有两列的 QTableWidget,它们当前使用 ComboboxDelegate(我的 QItemDelegate 的子类)向用户呈现选项。我希望第一列中的选择影响第二列中可用的选项,仅适用于当前行。

例如,第一列有汽车列表,第二列有该汽车可用的颜色列表。其他行选择不同的汽车,因此可以选择不同的颜色。

据我所知,我只能为每行或每列设置一个项目委托,所以我看不到如何在不影响所有其他行的情况下更改第二列委托中的选项。

这可能吗?我真的很想避免进行完整的视图/模型分离,因为我已经有很多代码在查看这个 QTableWidget(而且我面临时间压力)

0 投票
1 回答
1985 浏览

c++ - Qt5 C++:为特定表列设置 Spinbox 委托

我正在尝试将旋转框项目委托添加到表中的特定列。在查看了 Qt 中的示例后,我复制了大部分代码并实现了它,但是当我调用setItemDelegateForColumn()我的应用程序崩溃时。列索引有效。任何想法我做错了什么?

主要调用方法:

自定义 Spinbox 实现:

0 投票
1 回答
657 浏览

qt - 一个 QTableView 单元格中带有图像的超链接

我有一个带有自定义模型和委托的 QTableView。任务是创建包含图像和超链接的单元格。通过单击图像用户将超链接复制到剪贴板,并通过单击超链接用户应该在浏览器中打开链接。

这是一个可能的任务吗?

0 投票
1 回答
1545 浏览

qt - QItemDelegate 中编辑器的高度

我有 QListView 和 QItemDelegate 的自定义实现。MyItemDelegate 重新实现 createEditor() 以显示自定义小部件。小部件的大小取决于内容。默认情况下,每行高度约为 20px(一行),但我的编辑器具有更大的高度。我试图覆盖 QItemDelegate::sizeHint() 方法,但不包含对编辑器的引用,所以我无法计算正确的大小。

如何使 QListView 将行大小调整为编辑器的实际大小?

0 投票
0 回答
453 浏览

xml - 最佳实践:用于嵌套小部件的 QDataWidgetMapper,或使用委托扩展 QAbstractItemView

我的数据是从 XML 文件加载的,而且肯定是分层的。调整数据以使用 Qt 的模型/视图框架似乎是直截了当的。但是,XML 节点不是原始对象,如数字或字符串。我喜欢显示类似于Simple Widget Mapper 示例的数据。我有一个带有一些标签的表单,一个文本字段,按钮,也许还有复选框。此外,层次视图中的项目可以被选择(例如检查复选框)、删除(关闭按钮)、编辑(编辑按钮)、拖放。拖放用于操作(插入、移动、复制)层次结构。最佳做法是什么?

到目前为止,我看到了三个选项:

  1. 将 QDataWidgetMapper 与嵌套小部件一起使用

    XML 节点的属性列在一行中。对于每个节点,一个 QDataWidgetMapper 与该行相关联。QDataWidgetMapper 将小部件字段与适当的节点值同步。所有事件、拖放、选择……都必须由小部件处理。小部件提供放置容器。嵌套的小部件表示数据层次结构。

  2. 实现自定义 QAbstractItemView,并使用委托

    我的目标是类似 Nassi-Shneiderman 图。因此,不能应用标准的 QTreeView。但是,应该可以创建一个继承 QAbstractItemView 的基本分层布局。使用自定义委托,使用表单小部件绘制 XML 数据,并创建编辑器。QAbstractItemView 负责拖放、管理选择模型、(以某种方式)侦听按钮事件以从层次结构中删除项目,并要求代理提供编辑器。

  3. 别的东西

    我离成为 Qt 大师还很遥远。我欢迎建议。

推荐哪个选项?你认为哪个选项不那么痛苦?

编辑 - 2 月 21 日:有人知道 Qt Designer 是如何实现的吗?这差不多,我要找的。与在 Qt Designer 中一样,我有元素(循环、条件、动作……),并且喜欢编辑分层过程。有些元素是容器,有些是叶子。有些元素是水平结构的,有些是垂直结构的。Qt Designer 是 QGraphicsScene 吗?

谢谢你的帮助和建议,玛丽安

0 投票
1 回答
563 浏览

python - QWidgetItem override by setDefaultFactory in PyQt4 Example coloreditorfactory

has anyone tried they PyQt4 example coloreditorfactory?

Normally, I can create editable QWidgetItem with the setFlags() or setData() method, but it does not work after setDefaultFactory method. I saw some documentation that said all new or existing delegates will be overriden by setDefaultFactory.

Is there any method to make QWidgetItem editable again? or revert setDefaultFactory? thanks~ (Except QTextEdit or QLineEdit, etc.)

0 投票
2 回答
135 浏览

c++ - 在 QItemDelegate 的重新实现的绘制功能中,setFont 不起作用

我已经重新实现paint()了函数QTreeWidget,我想将第二列的数据显示为粗体,但它不起作用。

我该如何解决?

我附上了问题的截图,后半部分应该加粗

截屏

0 投票
1 回答
2300 浏览

c++ - 带有自定义小部件的 QItemDelegate

我的课程QTableViewQItemDelegate课程有问题。对于一列,我的代表创建了一个简单的组合框,一切正常。对于我的第二列,我需要一个在一个小部件中包含两个组合框的小部件。

我已经在我的 中编写了以下代码QItemDelegate,为了清楚起见,这仅显示了我的第二列的代码,即不起作用的代码。另一个简单的组合框没有显示,因为它工作正常:

现在这显示得很好,但是当我编辑它并单击其他地方时,它不会停止编辑。任何人都可以提供任何指示吗?

编辑:所以我需要在某个时候调用 CommitData() 和 closeEditor() 。任何人都可以提供有关在哪里调用这些的指示吗?

谢谢。

0 投票
1 回答
639 浏览

c++ - 使委托 QtComboBox 能够检测点击

我是 Qt 的新手。我有一个带有代表组合框的表格作为第二列。我想检测对组合框的点击。

我想到了一种方法:将组合框添加为私有变量,ComboBoxDelegate并将公共插槽添加为

但是,由于 createEditor 是 const 并且我无法在此方法中重新分配变量 cb 。有没有其他方法可以做到这一点?