在 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 的基本應用



沒有留言:
張貼留言