Qt 常用控制項QSlider學習

2021-10-04 01:33:53 字數 1689 閱讀 9520

qslider部件提供了乙個垂直或水平滑動條。

今天的主角是qsilder,qsilder繼承於qabstractslider,它的大多功能在qabstractslider,通過setvalue()來設定當前值,使用setsinglestep()、setpagestep()用來設定步長,setminimum()和setmaximum()用於定義滾動條的範圍。

使用者還可以自己設定其刻度,可以使用settickposition()來表示刻度標記的位置,使用settickinterval()來指定刻度的間隔;當前設定的刻度位置和間隔可以分別使用tickposition()和tickinterval()函式來查詢。而對於刻度標記的位置常用的列舉值有qslider::ticksbothsides表示在上面和下面都新增刻度線,qslider::ticksabove表示在上方新增刻度線、qslider::ticksbelow表示在下方新增刻度線等。

qsilder常用的訊號:

訊號描述

valuechanged()

當滑塊的值發生了改變,發射此訊號。tracking()確定在使用者互動時,是否發出此訊號。

sliderpressed()

當使用者按下滑塊,發射此訊號。

slidermoved()

當使用者滑動滑塊時,發射此訊號。

sliderreleased()

當使用者鬆開滑塊時,發射此訊號。

qslider *slider = new qslider();

qspinbox *spinbox = new qspinbox();

spinbox->setrange(0,100);

slider->setmaximum(100);

slider->setorientation(qt::horizontal);//設定方向

slider->setminimum(0);//設定最大值

slider->setvalue(20);//設定最小值

slider->settickposition(qslider::ticksbothsides);//設定其上下都有刻度線

slider->settickinterval(10);//設定刻度線的間隔

qstring strtip = qstring::number(slider->value());

slider->settooltip(strtip);

connect(spinbox,qoverload::of(&qspinbox::valuechanged),slider,&qslider::setvalue);//當spinbox的值發生變化的時候連線slider的槽函式setvalue,為了讓其同步

connect(slider,&qslider::valuechanged,spinbox,&qspinbox::setvalue);//同上

qvboxlayout *mainlayout = new qvboxlayout();

mainlayout->addwidget(spinbox);

mainlayout->addwidget(slider);

setlayout(mainlayout);

setwindowtitle(tr("slider"));

效果如下:

QT控制項之QSlider

singlestep 比如按下鍵盤的左右建,每次移動的距離 pagestep 比如用滑鼠對準滑動條的前面按下,每次移動的距離 value 初始預設值 接下來看該控制項擁有的訊號 重點看後面的四個,看字面意思就不難理解,分別為 移動,按下,釋放,改變,接下來看什麼情況會觸發 首先定義了四個槽函式,看訊...

Qt常用控制項

qpushbutton的新增。iocn 新增資源檔案 顯示效果為 前面icon後面文字。一般用來新增文字。qtoolbutton的新增。iocn 新增資源檔案 顯示效果toolbuttonstyle中更改,預設toolbuttonicononly toolbuttontextbesidicon。文字...

QT學習筆記9(Qt常用控制項)

一 常用控制項說明 1 按鈕組 從上到下依次是 按鈕 工具按鈕 單選按鈕 核取方塊 命令鏈按鈕 對話方塊按鈕盒 2 輸入部件組 3 顯示控制項組 從上到下 標籤 文字瀏覽器 圖形檢視 日曆 液晶數字 進度條 水平線 垂直線 開放式圖形庫工具 嵌入式qml工具。4 空間間隔組 水平間隔 垂直間隔 5 ...