2017-07-18 795 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