- QComboBox控件在进行下拉选项选择时,会出现方形的虚线,让人看了很不自在。那么,这虚线怎么去掉呢?
" QComboBox QAbstractItemView {"
"border: 1px solid darkgray;"
"border-radius:2px;"
"selection-background-color:blue ;"//鼠标划过时当前项的背景色
"outline:0px;"//去掉虚线
"}"
- 方法二:写一个类继承自QItemDelegate,重写以下虚函数(参照网上的方法)
void drawFocus(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect) const;
void GridDelegateLayout::drawFocus(QPainter *painter, const QStyleOptionViewItem &option,
const QRect &rect) const
{
Q_UNUSED (rect)
if (option.state & QStyle::State_HasFocus)
{
QPen penVal(Qt::white);
penVal.setWidth (1);
painter->setPen (penVal);
}
}
- 然后调用:ui->comboBox->setItemDelegate(grid);grid是新写的类的对象。这种方法有点小问题,各项之间占据各自的空间,不好看。