通過qt 的樣式表實現圓形按鈕,其也可以實現圓角按鈕,當然也可以使用其他的方式,比如說,通過派生按鈕類使用繪圖事件,進行乙個圖形的繪製,或者是通過自定義乙個類,通過訊號與槽的機制與繪圖事件的配合也能實現!當然每種方法都各有千秋,各有優點,在這裡將使用不破壞類機制的方式進行對按鈕ui的圓型或者圓角矩形的繪製!
核心**:
#include 「widget.h」
#include 「ui_widget.h」
#include
//根據載入檔案的方式,將qss檔案匯入!
widget::widget(qwidget *parent) :
qwidget(parent),
ui(new ui::widget)
void widget::button_style()
widget::~widget()
樣式表設定區*
qpushbutton
qpushbutton:hover
qpushbutton:pressed
也可以在 qpushbutton 物件下 通過 setstylesheet()函式直接設定樣式表的,但是對於乙個部件的多種狀態,是有些 不適用的,檔案載入這種方式還是蠻好的!
---------------------
設定圓形按鈕 最關鍵的是geometery的寬度和高度要相等,而且通過樣式表設定border-radius的值為高度和寬度的一般即可。
ui->pushbutton->setstylesheet("qpushbutton");border-style屬性分別有注意:rgba(r,g,b,a)a為alpha代表顏色透明度,0為透明,255位最大值。
none 定義無邊框。
hidden 與 "none" 相同。不過應用於表時除外,對於表,hidden 用於解決邊框衝突。
dotted 定義點狀邊框。在大多數瀏覽器中呈現為實線。
dashed 定義虛線。在大多數瀏覽器中呈現為實線。
solid 定義實線。
double 定義雙線。雙線的寬度等於 border-width 的值。
groove 定義 3d 凹槽邊框。其效果取決於 border-color 的值。
ridge 定義 3d 壟狀邊框。其效果取決於 border-color 的值。
inset 定義 3d inset 邊框。其效果取決於 border-color 的值。
outset 定義 3d outset 邊框。其效果取決於 border-color 的值。
inherit 規定應該從父元素繼承邊框樣式。
用一張圖簡單粗暴一目了然
調色盤主要用來也可以用來更改button的顏色
qpalette pal =ui->pushbutton->palette();//調色盤
pal.setcolor(qpalette::button,qt::red);
ui->pushbutton->setpalette(pal);
ui->pushbutton->setautofillbackground(true);
ui->pushbutton->setflat(true);
ui->pushbutton->settext("");
QT 為按鈕新增事件
1.使用qt creator 新增控制項 首先新增了乙個 push button,命名為 抓圖 然後右鍵該button 轉到槽,就完事了,詳細內容如下 然後會自動新增clicked的響應方法 在mainwindow.cpp中增加了這麼一行 void mainwindow on get picture...
漂亮的圓形按鈕
unit bottr inte ce uses windows,messages,sysutils,classes,graphics,controls,forms,dialogs,stdctrls type tform1 class tform button1 tbutton procedure f...
QT按鈕TEXT設定小技巧
如上圖一樣,第二介面 是dialog,檔名是button 首先,在第乙個介面的原始檔中新增乙個標頭檔案 include ui button.h 然後在按鈕的槽中加入 button setdlg new button setdlg ui pushbutton settext tr hello it i...