2

我正在尝试在 PySide 中实现 Qt 的颜色编辑器工厂示例(http://doc-snapshot.qt-project.org/4.8/itemviews-coloreditorfactory.html)。

我面临的问题是 QStandardItemEditorCreator 类不在 PySide 中,或者我在搜索文档很长时间后无法找到它。PySide 文档中对它的唯一引用可以在以下页面 (http://www.pyside.org/docs/pyside/PySide/QtGui/QItemEditorCreatorBase.html) 中找到,相关部分如下:

QStandardItemEditorCreator 是一个方便的模板类,可用于注册小部件,而无需继承 PySide.QtGui.QItemEditorCreatorBase 。

没有到 QStandardItemEditorCreator 的任何链接。

简而言之,如何在 PySide 中获得 QStandardItemEditorCreator 的功能?

谢谢。

4

1 回答 1

1

我最终在 python 中实现了 QStandardItemEditorCreator。这是我的实现:

class QStandardItemEditorCreator(QItemEditorCreatorBase):
    def __init__(self, cls):
        super(QStandardItemEditorCreator, self).__init__()
        self.propertyName = cls.staticMetaObject.userProperty().name()
        self.cls = cls

    def createWidget(self, parent):
        return self.cls(parent)

    def valuePropertyName(self):
        return self.propertyName

如果有人有更好的答案,我很乐意选择你的而不是我的。

于 2012-06-04T10:14:12.867 回答