Qt5 基礎控建: QPushButton, QFocusFrame
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