【问题标题】:QPushbutton: Two different Font sizeQPushbutton:两种不同的字体大小
【发布时间】:2019-11-13 15:13:58
【问题描述】:

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

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      虽然@abhilb 建议是可能的,但我会使用可点击的自定义QLabel,这样实现起来更快。

      QPushButton 不同,QLabel 支持富文本格式。如果您将文本格式设置为Qt::RichText,您可以将HTML 放入意味着您可以使用<font/><b/> 等。

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

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

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

      【讨论】:

      • 是的,但即使使用点击处理程序,它仍然不会看起来或行为像按钮,除非你一直走下去并正确设置它的样式,包括悬停/按下等等。除非所有按钮的样式都相同,否则它看起来仍然不会像应用程序的其余部分。恕我直言,重新实现 paintEvent() 似乎要简单得多。
      猜你喜欢
      • 2011-11-16
      • 2013-08-24
      • 2011-09-27
      • 2021-09-20
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      • 2020-10-30
      • 1970-01-01
      相关资源
      最近更新 更多