qt更改全域性風格
阿新 • • 發佈:2018-10-31
利用qt編寫介面時,有時候需要改變全域性的風格與樣式,這時候可以在main
函式中利用setStyleSheet
設定全域性風格。
QApplication a(argc, argv);
// a.setStyleSheet("QPushButton{min-height: 50px;}");
a.setStyleSheet(/*"QWidget{color:#FFFF00; background-color:#0066FF;}"*/
"QPushButton{min-height: 50px;}");
// "QPushButton:enabled{background-color:black;color: white;border-radius: 10px; border: 2px groove gray;border-style: outset;"
// "QPushButton:disabled{border-style: inset;}");
今天上午找了一上午的motif
風格的按鈕,發現qt5已經去掉了motif
和cde
兩種面向工業設計的介面風格,要實現這樣的效果,只能自己編寫風格,程式碼如下:
QApplication a(argc, argv);
a.setStyleSheet("QPushButton{min-height:50px; min-width: 80px; background:#DDDDDD; border-right:2px solid #646464; border-bottom :2px solid #646464; "
"border-left:2px solid #FFFFFF; border-top:2px solid #FFFFFF; border-radius:2px;}"
"QPushButton:disabled{min-height:50px; min-width: 50px; background:#DDDDDD; border-right:2px solid #FFFFFF; border-bottom:2px solid #FFFFFF; "
"border-left :2px solid #646464; border-top:2px solid #646464; border-radius:2px;}"
"QPushButton:pressed{min-height:50px; min-width: 50px; background:#DDDDDD; border-right:2px solid #FFFFFF; border-bottom:2px solid #FFFFFF; "
"border-left:2px solid #646464; border-top:2px solid #646464; border-radius:2px;}"
// "QPushButton:hover{outline:1px solid #0066FF;}"
// "QPushButton:hover{background:qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(100,100,100,200),stop: 0.5 rgba(0,255,100,200), stop:1 rgba(100,100,100,200));}"
// "QPushButton:focus{background:qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(150,150,150,150), stop: 0.5 rgba(50,50,50,255), stop:1 rgba(0,0,0,200));}"
);
基本上qt中設計風格的程式碼方式這裡都有,以後都可以照著這個改