簡體   English   中英

Qt將滑塊連接到doublespinbox

[英]Qt connecting a slider to a doublespinbox

這是我用來將滑塊的int轉換為double的代碼。

void simMotionControl::on_horizontalSlider_speed_valueChanged(int value)
{
    value = double (value/100); //i set the range of the slider from 0 to 10000
    ui->doubleSpinBox_speed->setValue(value);
}

當我將滑塊連接到雙旋轉盒時,它僅更改每個整數的數字,我如何才能讓滑塊將雙旋轉盒更改為兩位小數的精度? 另外,我也想將旋轉框重新連接到我的滑塊,因此,如果我更改旋轉框中的值,則滑塊也會改變。 謝謝!!

您將兩個整數相除,這總是會得到一個整數值。 您應該將value除以100.0 ,即十進制:

void simMotionControl::on_horizontalSlider_speed_valueChanged(int value)
{
    double val = value/100.0; //i set the range of the slider from 0 to 10000
    ui->doubleSpinBox_speed->setValue(val);
}

也可以在除法之前將值轉換為兩倍:

double val = (double)value/100;

要在更改Spinbox時更新滑塊的值,可以使用:

void simMotionControl::on_doubleSpinBox_speed_valueChanged(double arg1)
{
    ui->horizontalSlider_speed->setValue(arg1*100);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM