QStandardItemEditorCreator 类提供注册 Widget 的可能性,不必子类化 QItemEditorCreatorBase . 更多...
头: | #include <QStandardItemEditorCreator> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QItemEditorCreatorBase |
QStandardItemEditorCreator () |
virtual QWidget * | createWidget (QWidget * parent ) const override |
virtual QByteArray | valuePropertyName () const override |
This convenience template class makes it possible to register widgets without having to subclass QItemEditorCreatorBase .
范例:
QItemEditorFactory *editorFactory = new QItemEditorFactory; QItemEditorCreatorBase *creator = new QStandardItemEditorCreator<MyFancyDateTimeEdit>(); editorFactory->registerEditor(QMetaType::QDateTime, creator);
设置
editorFactory
created above in an item delegate via
QStyledItemDelegate::setItemEditorFactory
() makes sure that all values of type
QMetaType::QDateTime
will be edited in
MyFancyDateTimeEdit
.
The editor must provide a user property that will contain the editing data. The property is used by QStyledItemDelegate s to set and retrieve the data (using Qt's 元对象系统 ). You set the user property with the USER keyword:
Q_PROPERTY(QColor color READ color WRITE setColor USER true)
另请参阅 QItemEditorCreatorBase , QItemEditorCreator , QItemEditorFactory ,和 QStyledItemDelegate .
Constructs an editor creator object.
[override virtual]
QWidget
*QStandardItemEditorCreator::
createWidget
(
QWidget
*
parent
) const
重实现: QItemEditorCreatorBase::createWidget(QWidget *parent) const .
[override virtual]
QByteArray
QStandardItemEditorCreator::
valuePropertyName
() const