需求是不论使用什么字体,只设置行高,即使用的小字体也能随意设置行高。
找了好久没见什么简单靠谱的方法,看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));
效果如下图