Page MenuHomePhabricator (Chris)

MyTableWidgetDelegate.cpp
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

MyTableWidgetDelegate.cpp

#include "MyTableWidgetDelegate.h"
#include <QPainter>
#include <QTableWidget>
#include <QApplication>
MyTableWidgetDelegate::MyTableWidgetDelegate(QObject *parent)
: QStyledItemDelegate(parent)
{
}
void MyTableWidgetDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QStyleOptionViewItem opt = option;
#ifdef Q_OS_WIN
// 選択枠を描画
if (option.showDecorationSelected) {
QTableWidget const *tablewidget = qobject_cast<QTableWidget const *>(option.widget);
Q_ASSERT(tablewidget);
int w = tablewidget->viewport()->rect().width();
painter->save();
QStyleOptionViewItem o = option;
painter->setClipRect(o.rect);
o.rect = QRect(1, o.rect.y(), w - 2, o.rect.height());
qApp->style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &o, painter, 0);
painter->restore();
}
opt.state &= ~QStyle::State_Selected; // 行の選択枠は描画しない
#endif
opt.state &= ~QStyle::State_HasFocus; // セルのフォーカス枠は描画しない
QStyledItemDelegate::paint(painter, opt, index); // デフォルトの描画
}

File Metadata

Mime Type
text/x-c
Expires
Sun, Nov 15, 9:16 AM (7 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
141838
Default Alt Text
MyTableWidgetDelegate.cpp (1 KB)

Event Timeline