QPushbutton:两种不同的字体大小

时间:2019-11-13 15:13:58

标签: c++ qt

QPushButton是否可以具有两个不同的字体大小? 例如,对于QPushButton中的文本“ LIVE VIDEO”,我希望“ LIVE”的字体大小为16,对于“ VIDEO”的字体大小为12。

2 个答案:

答案 0 :(得分:2)

从QPushButton派生并自己绘制文本。您可以参考这篇文章以供参考。 Two colours text in QPushButton

答案 1 :(得分:1)

虽然@abhilb提出的建议是可行的,但我会选择一个可点击的自定义QLabel,它的实现速度更快。

不同于QPushButton QLabel支持RTF格式。如果将文本格式设置为Qt::RichText,则可以将HTML放在其中,这意味着可以使用<font/><b/>等。

myLabel.setTextFormat(Qt::RichText);
myLabel.setText("<font size='16'>LIVE</font><font size='12'/>VIDEO</font>");

我已将此格式添加到我的小部件中的标签中,您可以看到结果:

enter image description here

您只需要处理void mouseReleaseEvent(QMouseEvent* event);void mousePressEvent(QMouseEvent* event);即可使其正确单击。最后一点是发出您自己的clicked()信号。