?? datacombobox.cpp
字號:
#include "datacombobox.h"
DataComobBoxDelegate::DataComobBoxDelegate(QObject *parent)
: QAbstractItemDelegate(parent)
{
}
void DataComobBoxDelegate::paint(QPainter *painter,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
QSqlQueryModel *model=qobject_cast<QSqlQueryModel *>((QAbstractItemModel * )index.model());
QString text = index.data(Qt::DisplayRole).toString();
QString str;
const QRect rect=option.rect;
const QPalette palette=option.palette;
painter->save();
//str=index.data(Qt::UserRole).toString()+"\t"+text;
str=text;
if(option.state & QStyle::State_Selected )
{
QPen pen=QPen(palette.highlightedText().color());
painter->setPen(pen);
painter->fillRect(rect,palette.highlight());
}
painter->drawText(rect,str,Qt::AlignLeft | Qt::AlignVCenter);
painter->restore();
}
QSize DataComobBoxDelegate::sizeHint(const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
QString text = index.data(Qt::DisplayRole).toString();
QFont font(option.font);
font.setPointSize(QFontInfo(font).pointSize() * 3/2);
QFontMetrics fontMetrics(font);
return QSize(fontMetrics.width(text), fontMetrics.lineSpacing());
}
DataComboBox::DataComboBox(QWidget *parent)
: QComboBox(parent)
{
setItemDelegate(new DataComobBoxDelegate(this));
}
DataComboBox::~DataComboBox()
{
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -