需求是不論使用什么字體,只設置行高,即使用的小字體也能隨意設置行高。
找了好久沒見什么簡單靠譜的方法,看QComboBox源代碼發現它的行高就是按QIcon的高度和字體QFont的高度取最大值。那么方法就有了,設置一個透明的icon並設定其高度。如下:
QComboBox combo; QPixmap pixmap(1, 50); pixmap.fill(Qt::transparent); QIcon icon(pixmap); combo.setIconSize(QSize(1, 50)); combo.addItem(icon, "test1"); combo.addItem(icon, "test2"); combo.show();
方法比較雷,但是還算簡單並且能用。。關鍵就是一句combo.setIconSize(QSize(1, 50));
效果如下圖