1. 程式人生 > >QComboBox設定下拉框的高度和文字大小,和本身的寬度和大小

QComboBox設定下拉框的高度和文字大小,和本身的寬度和大小

設定QComboBox的預設model為QAbstractItemDelegate,但不幸的的是QComboBox的Item並不繼承自QStyedItemDeletegate而是繼承自QItemDelegate。

如果要設定QComboBox的行高,使用Qss的方式

QComboBox QAbstractItemView::item{min-height:20px;}

為了能夠生效,需要設定你的QComboBox的ItemDelegate為QStyledItemDelegate:

QStyledItemDelegate *itemDelegate = new QStyledItemDelegate();
combox->setItemDelegate(itemDelegate);

例項:

  

QStyledItemDelegate *itemDelegate = new QStyledItemDelegate();
m_groupNameBox->setItemDelegate(itemDelegate);
m_groupNameBox->setStyleSheet(QString("QComboBox{border:1px solid gray;font:15pt;}""QComboBox QAbstractItemView::item{height:40px;}"));

m_groupNameBox->setFixedHeight(30);//改變本身帶選擇的高度。或者通過上面的QSS  font:15pt就可以直接更改qcombobox的字型大小。

 

 

 

 

 

 

 

另外一種方法就是重寫QComboBox,定製自己的ComboBox,例子如下連結:

http://www.cnblogs.com/csuftzzk/p/qss_combobox.html