QT的horizontalSlider 控件使用說明


信號說明

QSlider很少有自己的函數,大部分功能在QAbstractSlider中。

最有用的函數是setValue(),用來設置滑塊的當前值;

triggerAction()來模擬點擊的效果(對快捷鍵有用);

setSingleStep()、setPageStep()用來設置步長;

setMinimum()和setMaximum()用於定義滾動條的范圍。

QSlider提供了一些方法來控制刻度標記:

可以使用setTickPosition()來表示刻度標記的位置,

使用setTickInterval()來指定刻度的間隔;

當前設置的刻度位置和間隔可以分別使用tickPosition()和tickInterval()函數來查詢。

QSlider繼承了一組全面的信號:

信號 描述
valueChanged() 當滑塊的值發生了改變,發射此信號。tracking()確定在用戶交互時,是否發出此信號。
sliderPressed() 當用戶按下滑塊,發射此信號。
sliderMoved() 當用戶拖動滑塊,發射此信號。
sliderReleased() 當用戶釋放滑塊,發射此信號。

QSlider只提供整數范圍。

注意:盡管QSlider可以處理非常大的數字,但是對於用戶來說,難以准確使用很大范圍的滑塊。

滑塊接受Tab鍵的焦點,並同時提供了一個鼠標滾輪和鍵盤接口。鍵盤接口如下:

  • Left/Right 移動水平滑塊一個步長。

  • Up/Down 移動垂直滑塊一個步長。

  • PageUp 上移一頁。

  • PageDown 下移一頁。

  • Home 移動至起始位置(最小值)。

  • End 移動至結束位置(最大值)

刻度位置

枚舉 QSlider::TickPosition

這個枚舉指定刻度線相對於滑塊和用戶操作的位置。

常量 描述
QSlider::NoTicks 0 不繪制任何刻度線
QSlider::TicksBothSides 3 在滑塊的兩側繪制刻度線
QSlider::TicksAbove 1 在(水平)滑塊上方繪制刻度線
QSlider::TicksBelow 2 在(水平)滑塊下方繪制刻度線
QSlider::TicksLeft TicksAbove 在(垂直)滑塊左側繪制刻度線
QSlider::TicksRight TicksBelow 在(垂直)滑塊右側繪制刻度線

基本使用

    ui->horizontalSlider->setRange(0, 255);//設置范圍
    ui->horizontalSlider->setValue(37); //設置當前值
    int val = ui->horizontalSlider->value(); //獲取值
    ui->OUT1->setText(QString::number(val));//把獲取到的值顯示在文本框

  結合上面的代碼,在用上面代碼初始化后,可以把使用信號槽 valueChanged(int value) 實現簡單的拖動滑塊顯示拖動的值

void MainWindow::on_horizontalSlider_valueChanged(int value)
{
    ui->OUT1->setText(QString::number(value));
}

  實現的結果如下,注意:下圖的ON/OFF按鈕跟左上角的PNP是其他的測試使用的,跟本次說的功能實現沒有關聯影響就不放出來了。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM