问题标签 [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.
qt - 如何确定项目是否在 QItemDelegate 的paint() 函数中被选中?
我正在使用 QItemDelegate 制作表格。我使用 paint(..) 方法来绘制委托项目,使其在退出编辑模式时看起来相同,但我还需要在项目被选中时以不同方式绘制项目,并且在这些事件期间也会调用 paint 方法。我的问题是我怎么知道什么时候画哪个?
谢谢你。
c++ - 使用 QItemDelegate 在 QTableView 中显示其他数据
我有一个与 QSqlTableModel 连接的 QTableView。
在第一列中,只有这种格式2010-01-02
的日期:我希望此列以这种格式显示日期(但不更改真实数据):02.01.2010
我知道我必须为此列创建一个 QItemDelegate,但我没有不知道如何读取现有数据并用不同的东西覆盖它。你知道如何管理吗?
python - 自定义委托的 PyQt QTreeWidget 问题
我正在尝试编写简单的属性编辑器。我已经自动生成了 pyqt 类(下面代码中的 WorkZone),我需要使用 PropertyEditor 查看/编辑它的一些属性,使用委托 PropertyEditorDelegate,使用自定义编辑器 ColorEditor、LineEditor 等。
主要思想是 WorkZone 知道需要编辑哪些属性以及如何编辑,PropertyEditor 解析 WorkZone,寻找这样的属性,并用它们的值填充 QTreeWidget。
但是有一个问题:delegate 不会在双击、“Enter”或 smth 时开始编辑。它被添加到右行,它绘制项目,但仅此而已。此外,当我将 Propertyeditor 容器的类型切换为 QTableWidget 时,委托开始更正常地工作(但编辑器绘制在屏幕的一角,而不是在表格中)!
PS。还有一个问题:有没有什么方法可以将一些代表添加到行中,而无需将它们的实例存储在其他地方(脚本中的 self._delegates),这很丑陋。方法 setItemDelegate 接受指向委托的指针,并且在 C++ 中它获得了它的所有权,但在 PyQT 中并非如此......此外,例如,setItem 没有这样的问题。
以下脚本说明了问题:
c++ - 如何在 QStyledItemDelegate 中绘制整行的背景?
我有一个 QTableView,我正在设置一个自定义 QStyledItemDelegate 。
除了自定义项目绘画之外,我还想为选择/悬停状态设置行的背景颜色。我想要的外观类似于 KGet 屏幕截图: KGet 的行背景 http://www.binaryelysium.com/images/kget_background.jpeg
这是我的代码:
结果是每个单独的单元格仅在鼠标悬停在其上时才接收到 mousedover 背景,而不是整行。很难描述所以这里是截图: 上面代码的结果 http://www.binaryelysium.com/images/loader_bg.jpeg
在那张图片中,鼠标位于最左边的单元格上,因此突出显示了背景..但我希望将背景绘制在整行上。
我怎样才能做到这一点?
编辑:有了更多的想法,我意识到 QStyle::State_MouseOver 状态仅被传递给鼠标所在的实际单元格,并且当为行中的其他单元格调用绘制方法时 QStyle::State_MouseOver 不是放。
所以问题变成了是否存在 QStyle::State_MouseOver_Row状态(答案:否),那么我该如何实现呢?
pyqt - 委托中的 QComboBox 后代编辑器中的“C++ 对象已销毁”
我修改了组合框来保存颜色,使用 QtColorCombo ( http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Widgets/qtcolorcombobox ) 作为“更多...”按钮的操作方法实施细节。它在 C++ 和 Linux 上的 PyQt 中运行良好,但在 Windows 上的 PyQt 中使用此控件时,我得到“底层 C++ 对象被破坏”。似乎错误发生在以下情况:
也许控制台输出会有所帮助。我在编辑器中覆盖了 event() 并得到:
- 鼠标按钮释放
- 焦点输出
- 离开
- 画
- 进入
- 离开
- 专注于
- !!!!!!!!!QtGui.QColorDialog.getColor()
- 窗口阻塞
- 画
- 窗口停用
- !!!!!!!!!“关闭编辑器”开火了!
- 隐藏
- 隐藏到父级
- 聚焦
- 延迟删除
- !!!!!!!!!#6e6eff
有人可以解释一下,为什么在不同的环境中会有如此不同的行为,也许可以提供一种解决方法来解决这个问题。这是最小的例子: http ://docs.google.com/Doc?docid=0Aa0otNVdbWrrZDdxYnF3NV80Y20yam1nZHM&hl=en
qt - 如何将 QAbstractTableModel 和 QItemDelegate 组合到一个工作源?
我QTableView
在 UI 文件中有一个定义。下图:
我想用小部件进行月份更改(红色数组指向的地方)QComboBox
,处理委托,但对我来说,对于我的自定义委托和模型来说,这是一个太复杂的问题,我不知道出了什么问题?!
问题:在我看来,QAbstractTableModel
不能使用QItemDelegate
,因为我无法将我的自定义简单ComboBoxDelegate
小部件与 QTableView 结合起来。什么?
这是我所拥有的:
我的自定义委托标头/源数据:
模型数据:
之后,我像这样制作了 init 委托:
PS:很抱歉输出很长,但我认为如果所有来源都在这里显示会更好。
谢谢!
qt - 在 QTableView 中格式化数据
我正在使用自定义委托在 QTableView 中显示 QDoubleSpinBoxes。这些旋转框以两位小数显示其内容。
我的问题是,我希望 QTableView 在未编辑时也显示带有两位小数的数字(此时它们不在 QDoubleSpinBox 中)。或者,更确切地说,我希望能够为 QTableView 的内容指定一种格式。
我试图继承 QStyledItemDelegate 来覆盖 displayText,但由于一个奇怪的原因它崩溃了。如果我只是将 QItemDelegate 子类化,它就可以正常工作。
我在 Windows 上使用 Qt 4.6.3。
editor - 尝试在 QTableView 中编辑单元格时调用 QFileDialog
有没有办法在不使用 QItemDelegate 的情况下做到这一点?我一直有很多麻烦。例如,如果我使用委托:
- 不会有原生对话框。
- 我必须实现自己的图像预览,
由于某种原因,我无法调整窗口大小,因为 setGeometry 不起作用等等。
/li>
c++ - Qt - QTableView - 表格行中的可点击按钮
我需要在QTableView
. 这是为了打开一个对话框,以便更有效地编辑该行。
在网上看了几个小时后,我还没有找到一个像样的例子。
我知道这很可能是使用QItemDelegate
.
任何帮助将不胜感激。
qt - Qt:复选框和QItemDelegate-选择发生时不绘制复选框
我正在使用 QItemDelegate 结合 QTableView 的 IsUserCheckable 标志来绘制居中的复选框列。在我为表格启用行选择之前,一切都运行良好。
When selection occurs, the blue selection background is the only thing painted, and the checkboxes are no longer seen.
以下是我用来从委托中绘制复选框的代码。
关于为什么在进行选择时无法正确绘制的任何想法?