SpinBox 的基本應用
前言
在先前的 Slider 的基本應用 裡介紹了 Slider 可以應用於整數的輸入,但如果數值的範圍大時,要拖到指定的數值時會很花時間,這時候 SpinBox 會比較適合,在此把學習的過程做個紀錄。內容
先到 [ GitLab ] HelloQt 下載範例,這次應用的專案路徑(HelloQt' directory)/SpinBox/Basic,在 Qt Creator 開啟設計介面會看到以下
範例的設計介面 |
圖中左側有 SpinBox 在工具箱的位置,執行結果如下
範例的執行結果 |
在設計介面可以看到和 Slider 相似的屬性,如下圖
SpinBox 的屬性 |
用法和 Slider 差不多,這就不多做解說。
接著看程式的操作,看到 MainWindow::MainWindow() ,程式碼如下
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); // connect( ui->spinBox , QOverload<int>::of( &QSpinBox::valueChanged ), this , &MainWindow::onSpinBoxValueChanged ); // ui->spinBox->setValue( 50 ); // }
程式的開頭做了事件綁定,要注意 valueChanged() 綁定要經過轉型的動作,接著透過 setValue() 來設定 SpinBox 的數值,事件的程式碼如下
void MainWindow::onSpinBoxValueChanged(int value) { qDebug( "new value:%ld" , ui->spinBox->value() ); }
透過 value() 來取得當前的數值,也可以從引數的 value 來取得。
SpinBox 的好處是可以直接受透過輸入來設定數值,用起來也相單的簡單,但對 Float 數值的解決方案和 Slider 不太一樣,下一篇會做個說明。
參考資料
[ doc.qt.io ] QSpinBox Class相關文章與資料
[ GitLab ] HelloQtSlider 的基本應用
沒有留言:
張貼留言