在 SpinBox 使用 float 數值
前言
在先前的 SpinBox 的基本應用 裡提到了 SpinBox 要使用 float 的數值的作法與 Slider 不一樣,這次就來學習如何使用,在此把學習的過程做個紀錄。內容
先到 [ GitLab ] HelloQt 下載範例,這次應用的專案路徑(HelloQt' directory)/SpinBox/FloatValue,在 Qt Creator 開啟設計介面會看到以下
範例的設計介面 |
SpinBox 要使用 float 的數值的話要使用 DoubleSpinBox ,圖中左側為 DoubleSpinBox 在工具箱的位置。執行結果如下
範例的執行結果 |
在設計介面看到 DoubleSpinBox 的屬性如下
DoubleSpinBox 的屬性 |
屬性中的"decimals"表示精度,預設是 2 ,也就是小術後的兩位數,要注意自己輸入的數值也會被精度影響。
接著看程式的操作,看到 MainWindow::MainWindow() ,程式碼如下
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); // connect( ui->doubleSpinBox , QOverload<double>::of(&QDoubleSpinBox::valueChanged) , this , &MainWindow::onDoubleSpinBoxValueChanged ); // ui->doubleSpinBox->setValue( 50.5 ); }
這個部分的用法和 SpinBox 是一樣的,只是數值型態為 double ,事件的實現如下
void MainWindow::onDoubleSpinBoxValueChanged(double vlaue) { qDebug( "new value:%.2lf" , ui->doubleSpinBox->value() ); }
這個部分的用法也和 SpinBox 一樣就不再說明。
參考資料
[ doc.qt.io ] QDoubleSpinBox相關文章與資料
[ GitLab ] HelloQtSpinBox 的基本應用
沒有留言:
張貼留言