QStandardItemEditorCreator 類

template <typename T> class QStandardItemEditorCreator

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 .

成員函數文檔編製

QStandardItemEditorCreator:: QStandardItemEditorCreator ()

Constructs an editor creator object.

[override virtual] QWidget *QStandardItemEditorCreator:: createWidget ( QWidget * parent ) const

重實現: QItemEditorCreatorBase::createWidget (QWidget *parent) const.

[override virtual] QByteArray QStandardItemEditorCreator:: valuePropertyName () const

重實現: QItemEditorCreatorBase::valuePropertyName () const.