hlp:荆州版本

This commit is contained in:
kite_lucs
2026-10-19 17:03:47 +08:00
parent e533ea8e0b
commit 065b146998
438 changed files with 163143 additions and 185387 deletions
+36 -36
View File
@@ -1,36 +1,36 @@
#include "HtmlDelegate.h"
HtmlDelegate::HtmlDelegate(QObject *parent) : QAbstractItemDelegate(parent){}
//HtmlDelegate::HtmlDelegate(QObject *parent = nullptr) : QAbstractItemDelegate(parent) {}
void HtmlDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const {
QString html = index.model()->data(index, Qt::DisplayRole).toString();
QTextDocument doc;
doc.setHtml(html);
doc.setTextWidth(option.rect.width());
painter->save();
painter->setClipRect(option.rect);
if (option.state & QStyle::State_Selected) {
// 绘制选中项的背景颜色
painter->fillRect(option.rect, option.palette.color(QPalette::Highlight));
}
painter->translate(option.rect.topLeft());
doc.drawContents(painter, QRectF(QPointF(0, 0), QSizeF(option.rect.size())));
painter->restore();
}
QSize HtmlDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const {
QString html = index.model()->data(index, Qt::DisplayRole).toString();
QTextDocument doc;
doc.setHtml(html);
doc.setTextWidth(option.rect.width());
return QSize(doc.idealWidth(), doc.size().height());
}
#include "HtmlDelegate.h"
HtmlDelegate::HtmlDelegate(QObject *parent) : QAbstractItemDelegate(parent){}
//HtmlDelegate::HtmlDelegate(QObject *parent = nullptr) : QAbstractItemDelegate(parent) {}
void HtmlDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const {
QString html = index.model()->data(index, Qt::DisplayRole).toString();
QTextDocument doc;
doc.setHtml(html);
doc.setTextWidth(option.rect.width());
painter->save();
painter->setClipRect(option.rect);
if (option.state & QStyle::State_Selected) {
// 绘制选中项的背景颜色
painter->fillRect(option.rect, option.palette.color(QPalette::Highlight));
}
painter->translate(option.rect.topLeft());
doc.drawContents(painter, QRectF(QPointF(0, 0), QSizeF(option.rect.size())));
painter->restore();
}
QSize HtmlDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const {
QString html = index.model()->data(index, Qt::DisplayRole).toString();
QTextDocument doc;
doc.setHtml(html);
doc.setTextWidth(option.rect.width());
return QSize(doc.idealWidth(), doc.size().height());
}