⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datacombobox.cpp

📁 跨平台,多数据库查看编辑和查询工具,平台支持windows,linux,数据库支持oracle,odbc,mysql,slite等
💻 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 + -