字型顏色的設定一般時以下兩種方案:
(1)屬於QWidget子類的一些控制元件
可以直接使用樣式表,例如label->setStyleSheet("color:white");
(2)不屬於QWidget子類的控制元件
可以考慮設定其前景色,例如各種ViewtreeWidgetItem->setForeground(0,QBrush(QColor(Qt::white)));
-------------------------------------------------------------------------------------------------
我要實現的效果:
正常狀態下:黑底(背景色),白字(前景色),圓角,向外凸起;
滑鼠停留:背景和前景都反色;
滑鼠按下:背景色變為淡藍色,向內凹陷。
程式碼:
ui->pushButton_GoToProcess->setStyleSheet("QPushButton{background-color:black;\
color: white; border-radius: 10px; border: 2px groove gray;\
border-style: outset;}"
"QPushButton:hover{background-color:white; color: black;}"
"QPushButton:pressed{background-color:rgb(85, 170, 255);\
border-style: inset; }"
);
結果:
(1)正常狀態
(2)滑鼠停留
(3)滑鼠按下
-------------------------------------------------------------------------------------------------
如果要對多個按鈕實現同樣的效果,只要將setStyleSheet裡的字串定義成QString,後面其他按鈕直接呼叫這個QString就好了。
定義:
QString button_style="QPushButton{background-color:black;\
color: white; border-radius: 10px; border: 2px groove gray;\
border-style: outset;}"
"QPushButton:hover{background-color:white; color: black;}"
"QPushButton:pressed{background-color:rgb(85, 170, 255);\
border-style: inset; }";
呼叫:
ui->pushButton_Save->setStyleSheet(button_style);
-------------------------------------------------------------------------------------------------
對於按鈕如果想設定為圖片,則最好使用新增icon,這樣的話位置比較合適,如果是使用setStyleSheet還需要對位置進行設定(直接設定會發現位置有點偏)。另外要加上一句: