Qt設定按鈕為圓形

2022-07-21 04:06:12 字數 1799 閱讀 5738

通過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");

注意:rgba(r,g,b,a)a為alpha代表顏色透明度,0為透明,255位最大值。

border-style屬性分別有

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...