QComboBox设置item height(行高)

需求是不论使用什么字体,只设置行高,即使用的小字体也能随意设置行高。

找了好久没见什么简单靠谱的方法,看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));

效果如下图

posted on 2013-05-17 16:53  oceanking  阅读(6553)  评论(0编辑  收藏  举报