【问题标题】:How change font color for QMessageBox Label's?如何更改 QMessageBox 标签的字体颜色?
【发布时间】:2017-12-23 09:27:49
【问题描述】:

我的意思

QMessageBox::question, QMessageBox::warning, QMessageBox::critical, QMessageBox::Information { /* Base Text Size & Color */
font-size:12px;
color:#ffffff;
}

如果我尝试QmessageBox .QLabel,它会更改所有表单/窗口的字体

如果我对所有人使用全局设置,结束如何添加背景

QDialog {
border-image: url(':/images/image') 0 0 0 0 stretch stretch;
}

已设置,但如何设置仅针对此 QMessageBoxes。

这个我明白了,但是还有一个问题,我添加到后台

QMessageBox QLabel {
background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0.5 rgba(0, 0, 0, 102));
border:0;
border-radius:6px;
font-size:10px;
font-weight:bold;
padding-left:5px;
padding-right:5px;
padding-top:5px;
padding-bottom:5px; 

但它添加到图标,如何解决这个问题?

【问题讨论】:

  • 抱歉,您到底想做什么?您想为所有 QMessageBoxes 添加背景吗?还是 QDialog?
  • 我尝试更改 QMessageBox(对话框)的字体颜色,并添加自定义背景。如果我对所有 QDialo 使用全局图像,它会添加到 QMessageBoxes 对话框中。与 QLabel 的字体相同。
  • 问题是 - 如果设置全局黑色图像 - 它会使 QmessageBox 上的不可读黑色字体变得至关重要,Info 等......对于所有形式的更改字体都很简单,但是如何使用 qss - 仅为此设置样式qmessageboxes,

标签: qt qt-designer qtstylesheets qlabel qmessagebox


【解决方案1】:

您还可以使用作为参数传递给 QMessageBox 的字符串中的标签来设置颜色:

QMessageBox::question(this, "Question", "<FONT COLOR='#ff0000'>Are you ready?</FONT>",
                                  QMessageBox::Yes|QMessageBox::No);


【讨论】:

    【解决方案2】:
    setStyleSheet("QMessageBox{background: rgb(255,0,0);  border: none;font-family: Arial; font-style: normal;  font-size: 15pt; color: #000000 ; }");
    

    结果

    【讨论】:

      【解决方案3】:

      你试过了吗:

      QMessageBox {
          background-color: rgb(51, 51, 51);
      }
      
      QMessageBox QLabel {
          color: rgb(200, 200, 200);
      }
      

      http://doc.qt.io/qt-5/stylesheet-syntax.html

      【讨论】:

      • 这个我明白,但我有另一个问题我添加到背景 QMessageBox QLabel { background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1,停止:0.5 RGBA(0, 0, 0, 102));边界:0;边框半径:6px;字体大小:10px;字体粗细:粗体;填充左:5px;填充右:5px;填充顶部:5px;填充底部:5px; } 但它添加到图标,如何解决这个问题?
      • 你想在哪里添加图标?是否要向消息框添加图像?
      • 为此,您应该使用 QMessageBox 对象的“setIconPixmap(const QPixmap & pixmap)”函数。即:messageBoxInstance.setIconPixmap(QPixMap(":/pictures/yourPic.jpg"));
      • 我知道如何设置图标
      • 不是你的图片背景较暗吗?也许您可以尝试使用 Photoshop 将图像的其余部分设置为透明。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多