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 ...