Qt: функция рисования пользовательского LineEditDelegate

Я реализовал ComboBoxDelegate. Это получено из QStyledItemDelegate, Функция рисования используется для отображения содержимого ячейки, когда она не является редактирующим узлом.

void ComboBoxDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const {
QStyleOptionComboBox comboBoxOption;
comboBoxOption.rect = option.rect;
comboBoxOption.state = QStyle::State_Active | QStyle::State_Enabled;
comboBoxOption.frame = true;
comboBoxOption.currentText = index.model()->data(index).toString();
QApplication::style()->drawComplexControl(QStyle::CC_ComboBox, &comboBoxOption, painter);
QApplication::style()->drawControl(QStyle::CE_ComboBoxLabel, &comboBoxOption, painter);
}

Сейчас я пытаюсь реализовать LineEditDelegate. Я не знаю, как написать его функцию рисования. Есть QStyleOptionComboBox как класс для QLineEdit? Можете ли вы поделиться своим кодом, если кто-нибудь сделал это?

1

Решение

Пытаться этот ответ.

Оно использует QStyle::drawPrimitive с QStyle::PE_PanelLineEdit элемент.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]