Qt5 基礎控建: QPushButton, QFocusFrame

2021-06-12

QPushButton是按鈕控建: QFocusFrame提供當前繪畫區的焦點
先看一下QPushButton的創建範例:

https://paste.ofcode.org/36aZPT3abTDMVrv7mMtg4c4

QPushButton 的 constructor 第一個參數是button的內容,第二個參數則是繼承的父類
 QPushButton 主要要三個功能(signal):
clicked(), pressed(), released()
先設計與其對應的slot: 

https://paste.ofcode.org/kRzfpmMwGsGH8WCpfrBKXb

利用connect function 可以將訊號-槽連接
如下範例

connect(btn[0], &QPushButton::clicked, this, &Qbtn::btn_click);

connect(btn[0], &QPushButton::pressed, this, &Qbtn::btn_pressed);

connect(btn[0], &QPushButton::released, this, &Qbtn::btn_released);

根據執行結果可以發現,按下button會依序觸發press, release, click


最後,QFocusFrame 可以將button 周邊繪製粗框:

QFocusFrame *btn_frame = new QFocusFrame(this);

btn_frame->setWidget(btn[0]);

btn_frame->setAutoFillBackground(true);

整個完整程式碼與結果如下:

https://paste.ofcode.org/riHsfxmhFx6sP75dsHZBEs


Miller : hhjoy222@gmail.com
Webnode 提供技術支援
免費建立您的網站! 此網站是在 Webnode 上建立的。今天開始免費建立您的個人網站 立即開始