Qt QComboBox在Ubuntu上顯示問題
描述
最近使用Qt開發一些小工具時發現,在Ubuntu18.04上使用QComboBox控件,當列表項過多時,顯示效果很不好,如下圖
相同的代碼,在windous上顯示效果並非如此,我們查找官方文檔,找到了這個方法setMaxVisibleItems用來設置下拉框項目最大數量,超過改數量將以右側滾動條的方式顯示,默認爲10。但是這裏要注意,根據描述在GTK/Mac上的風格設置這個選項是沒有作用的,原因是這些桌面環境中QStyle :: SH_ComboBox_Popup返回爲true。
解決方法
那麼解決方法就是給這個combobox增加樣式屬性。
ui->ComboBox->setStyleSheet("combobox-popup: 0;");
類似在pyqt中
self.ui.ComboBox.setStyleSheet("combobox-popup: 0;")
效果如下