qt中預設的按鈕樣式比較一般,為了實現優美的介面qt支援對按鍵的樣式自定義。一般有兩種途徑來自定義按鍵樣式,第一種是通過設定按鍵在不同狀態(常規、滑鼠停留、滑鼠按下)的顏色和樣式、第二種是設定按鍵在不同狀態下顯示不同的,下面通過實現下面介面來展示這兩種方法:
一、通過設定按鍵顏色
下面先給出上圖中所展示的「註冊賬號」這個按鍵的實現方法:
m_registeraccountbtn = new qpushbutton(this);
m_registeraccountbtn->resize(80, 30);
m_registeraccountbtn->move(260, 50);
m_registeraccountbtn->settext("註冊賬號");
qstring btnstyle1 = "\
qpushbutton\
qpushbutton:hover\
qpushbutton:pressed";
m_registeraccountbtn->setstylesheet(btnstyle1);
這裡分別制定了按鍵在三種狀態下的顏色。下面給出「登入」按鍵的實現**:
m_loginbtn = new qpushbutton(this);
m_loginbtn->settext("登入");
m_loginbtn->resize(200, 30);
m_loginbtn->move(50, 50);
qstring btnstyle2 =
"qpushbutton\
qpushbutton:hover\
qpushbutton:pressed";
m_loginbtn->setstylesheet(btnstyle2);
上述**不僅指定了按鍵在三種狀態下的顏色,還指定了按鍵的樣式等。
二、通過設定按鍵
這裡設定也相對比較簡單,只是指定了三種狀態下顯示不同的。
三、總結
widget.h
#ifndef widget_h
#define widget_h
#include
#include
class widget : public qwidget
;#endif // widget_h
widget.cpp
#include "widget.h"
widget::widget(qwidget *parent)
: qwidget(parent)
\ qpushbutton:hover\
qpushbutton:pressed";
m_closebtn->setstylesheet(closebtnstyle);
m_registeraccountbtn = new qpushbutton(this);
m_registeraccountbtn->resize(80, 30);
m_registeraccountbtn->move(260, 50);
m_registeraccountbtn->settext("註冊賬號");
qstring btnstyle1 = "\
qpushbutton\
qpushbutton:hover\
qpushbutton:pressed";
m_registeraccountbtn->setstylesheet(btnstyle1);
m_loginbtn = new qpushbutton(this);
m_loginbtn->settext("登入");
m_loginbtn->resize(200, 30);
m_loginbtn->move(50, 50);
qstring btnstyle2 =
"qpushbutton\
qpushbutton:hover\
qpushbutton:pressed";
m_loginbtn->setstylesheet(btnstyle2);
connectslots();
}void widget::connectslots()
void widget::onregistercount()
void widget::onloginbtn()
void widget::onclosebtn()
widget::~widget()
main.cpp
#include "widget.h"
int main(int argc, char *argv)
QT自定義滑鼠樣式
在qt開發中,難免會遇到想要改變滑鼠的樣式。qt中本身提供十幾種常見的滑鼠樣式 舉例說明如何更改 假設顯示乙個label,想要滑鼠落在label上的時候,滑鼠變成手形,如下 ui label setcursor qt openhandcursor 有時候,這幾種樣式並不能滿足開發的需要。比如開發畫圖...
Qt 自定義 滾動條 樣式
今天是時候把軟體中的進度條給美化美化了,最初的想法就是仿照qq。qt設定樣式的方式有兩種,一種直接在程式中寫,適用於樣式不多的情況 另一種,寫入到檔案中,適用用樣式較大且需要提供換膚功能的情況。1.寫入到檔案中,新建個xx.qss,然後複製一下內容 設定垂直滾動條基本樣式 qscrollbar ve...
qt自定義控制項樣式04 QPushButton
注釋只為解釋,qss語法並不能直接這樣寫,美化控制項時,下面的所有選項並不需要全部進行設定,自行選擇qpushbutton qpushbutton pushbutton pressed 滑鼠按下時的效果 qpushbutton flat 按鈕樣式 qpushbutton open 當按鈕開啟選單時 ...