2017-07-18 777 views
1

我的意思如何更改QMessageBox Label的字体颜色?

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设置。

这我理解,但HV另一个问题,我添加到背景

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; 

,但它添加到图标,怎么解决这个问题?

enter image description here

+0

抱歉,但什么是你到底想干什么?您想为所有QMessageBox添加背景吗?或为QDialog? – Ph03n1x

+1

我尝试更改QMessageBox(对话框)的字体颜色,为它们添加自定义背景。如果我为全部QDialo使用全局图像,它将添加到QMessageBoxes对话框中。与QLabel字体相同。 – tseries

+1

问题是 - 如果设置全局黑色图像 - 它使QmessageBox关键,信息等等上的不可读黑色字体...对于所有形式改变字体很简单,但如何与qss - 只为这个qmessageboxes设置样式, – tseries

回答

0

你试过:

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

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

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

+0

这我明白,但我有另一个问题,我添加到背景 QMessageBox QLabel背景颜色:qlineargradient(传播:垫,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; } 但它将图标添加到\t,如何解决这个问题? – tseries

+0

你想添加图标的位置?你想添加一个图像到消息框? – Ph03n1x

+0

为此,您应该使用QMessageBox对象的“setIconPixmap(const QPixmap&pixmap)”函数。即:messageBoxInstance.setIconPixmap(QPixMap(“:/ pictures/yourPic.jpg”)); – Ph03n1x

1
setStyleSheet("QMessageBox{background: rgb(255,0,0); border: none;font-family: Arial; font-style: normal; font-size: 15pt; color: #000000 ; }"); 

结果 enter image description here