QT控制項 按鍵組

2021-07-16 04:00:09 字數 2614 閱讀 5895

qt的按鍵組主要有6種,分別是:

qpushbutton

qtoolbutton

qdadiobutton

qcheckbox

qcommandlinkbutton

qbuttonbox

下面,將對各個空間進行簡要的介紹以及使用方法

一,push button

此控制項通常用得是最多,每個軟體基本少不了與使用者互動最普遍的控制項就是按鍵。

要使用此控制項,主要是進行如下步驟

1、包含qpushbutton類

2、定義qpushbutton 物件

3、設定qpushbutton物件的顯示、大小、大小範圍、字型等屬性

4、設定qpushbutton所放置的layout布局、座標

5、定義qpushbutton的槽函式

下面進行例項演示

2、首先在標頭檔案包含"qpushbutton"類,然後再類定義中定義乙個qpushbutton物件,定義乙個槽函式show_btn()

紅框內為新新增**

然後再c檔案為物件分配記憶體,並且設定物件顯示名稱為」按鍵「

編譯執行,就可以看到具有乙個按鍵的窗體了

因為沒有設定屬性,所以按鍵被設定為預設屬性

例如設定按鍵的幾何大小

btn

->setgeometry(

100,

100,

100,

100);

設定按鍵的字型

btn

->setfont(

qfont

("alls",18

,qfont

::black

));

最後來設定槽函式

編譯執行,當按下按鍵後,按鍵的名稱就變為」按下「了

標頭檔案

#ifndef

dialog_h

#define

dialog_h

#include

#include

class

dialog

:public

qdialog

;
#endif

//dialog_h

cpp檔案

#include

"dialog.h"

#include

"qfont"

dialog

::dialog(

qwidget

*parent)

:qdialog

(parent)

dialog

::~dialog

()

void

dialog

::show_btn()

else

}
二、qtoolbutton類提供了用於命令或者選項的可以快速訪問的按鈕,通常可以用在q*******裡面

接著上面的工程,在建構函式中新增以下**,同時需要包含qtoolbutton類

qtoolbutton

*pbutton

=new

qtoolbutton

(this

);

pbutton->setarrowtype(

qt::

leftarrow

);

pbutton->settext(tr(

"按下"

));

pbutton->settoolbuttonstyle(

qt::

toolbuttontextundericon

);

pbutton->setstylesheet(

"qtoolbutton"

);

效果如下圖所示:

三、qradiobutton類提供了互斥型或者非互斥型的按鍵選擇,如果使用者需要對某幾個radiobutton進行控制,需要把這幾個用groupbox或者buttonbox

框起來,而radiobutton預設是父視窗的所有radiobutton互斥

使用方法,定義乙個qradiobutton物件,申請記憶體,定義座標大小,設定預設是選中還是非選中等等

rdo1_btn

=new

qradiobutton

(this

);

rdo1_btn

->setgeometry(

150,

150,20,

20);

rdo1_btn

->setchecked(

true

);

Qt自定義Button組控制項

在網上也看到大佬們實現過這樣的效果,然後自己也想想封裝了一套。下劃線帶動畫效果。封裝類包括 1.設定按鈕位置,分東南西北方向 void setbuttonposition int position 2.下劃線顏色 void setbuttoncolor qcolor color 3.下劃線的高度 下...

Qt攔截特定按鍵

背景 qt應用執行時,鍵盤esc按下導致程式異常退出,需要在程式整個執行期間攔截esc這個按鍵響應。qt整個執行機制是事件迴圈,在執行期間如果需要攔截特定的任務,qt提供乙個便捷的處理機制,就是事件過濾器。因為過濾器的定義在qobject類中,所以只要繼承了這個類,就可以使用installevent...

Qt攔截特定按鍵

背景 qt應用執行時,鍵盤esc按下導致程式異常退出,需要在程式整個執行期間攔截esc這個按鍵響應。qt整個執行機制是事件迴圈,在執行期間如果需要攔截特定的任務,qt提供乙個便捷的處理機制,就是事件過濾器。因為過濾器的定義在qobject類中,所以只要繼承了這個類,就可以使用installevent...