這幾天寫一個項目,里面用到qcombobox組件,其中下拉框含有129個子項,所以在點擊的時候,一個下拉框就將整個電腦屏幕給占滿了,很不好看並且在使用中會造成很大的苦惱。其實我就是想設置一個下拉框最大的高度,而且,剩下還未顯示的子項就用滾動條來代替。
網上搜了很長時間,很多都是人雲亦雲,不能解決問題,所以,今天寫下這個博客,一來,留給自己存檔,而來,留給后來的同學,希望不要走我這條老路。
下拉框高度主要分兩種。
一、下拉框子項的高度:
- setStyleSheet("QComboBox { min-height: 40px; min-width: 60px; }"
- "QComboBox QAbstractItemView::item { min-height: 40px; min-width: 60px; }");
- QComboBox *combo = new QComboBox(this);
- combo->setView(new QListView());
二、下拉框下拉列表的高度:
我們一般會用這條語句
ui->m_qcombxType->setMaxVisibleItems(10);
設置它下拉顯示最多的子項,也就是下拉框的高度。但是在用的時候發現沒反應,使用不了。在這條語句前面再加上一句
ui->m_qcombxType->setEditable(true);
設置qcombobox為為可編輯屬性。就可以了。
其中m_qcombxType為下拉框的名字。
http://blog.csdn.net/devil_box/article/details/46514007