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
));
編譯執行,當按下按鍵後,按鍵的名稱就變為」按下「了
標頭檔案
#ifndefdialog_h
#definedialog_h
#include
#include
classdialog
:public
qdialog
;
#endifcpp檔案//dialog_h
#include"dialog.h"
#include"qfont"
dialog::dialog(
qwidget
*parent)
:qdialog(parent)
dialog::~dialog
()
voiddialog
::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...