重构 QTableWidget 重绘类
头文件:
#ifndef NOFOCUSDELEGATE_H
#define NOFOCUSDELEGATE_H
// QTableWidget 重绘类,去掉选中虚线框,设置点击时字体颜色保持不变
#include <QStyledItemDelegate>
#include "stdafx.h"
class NoFocusDelegate: public QStyledItemDelegate
{
Q_OBJECT
public:
NoFocusDelegate();
~NoFocusDelegate();
void paint(QPainter* painter, const QStyleOptionViewItem & option, const QModelIndex &index) const;
};
#endif // NOFOCUSDELEGATE_H
cpp文件:
#include "nofocusdelegate.h"
#include <QStyledItemDelegate>
NoFocusDelegate::NoFocusDelegate()
{
}
NoFocusDelegate::~NoFocusDelegate()
{
}
void NoFocusDelegate::paint(QPainter* painter, const QStyleOptionViewItem & option, const QModelIndex &index) const
{
QStyleOptionViewItem itemOption(option);
// 去掉选中时的虚线框
if (itemOption.state & QStyle::State_HasFocus)
{