qdial類提供了乙個四捨五入的範圍控制(如速度計或電位計)。
當使用者需要在程式可定義的範圍內控制乙個值時使用qdial,並且範圍可以環繞(例如,角度從0度到359度測量),或者對話方塊布局需要乙個方形控制項。
在滑塊移動時,撥號盤最初會連續發出valuechanged()訊號; 您可以通過禁用跟蹤屬性來減少發射訊號的頻率。 即使禁用跟蹤,也會連續發出slidermoved()訊號。
當按下並釋放滑鼠按鈕時,撥號也會發出sliderpressed()和sliderreleased()訊號。 請注意,由於鍵盤和滾輪也可用於更改數值,因此表盤的數值可能會發生變化,而不會發出這些訊號。
與滑塊不同,qdial試圖繪製乙個「好」數量的凹槽,而不是每行乙個。 如果可能,繪製的凹槽數量是每行一步,但如果沒有足夠的畫素來繪製每乙個畫素,qdial將跳過凹槽嘗試繪製乙個統一集合(例如,通過繪製每秒或三次凹槽)。
與滑塊一樣,表盤使qabstractslider函式setvalue()可用作插槽。
表盤的鍵盤介面非常簡單:左/上和右/下箭頭鍵通過定義的pagestep定義的singlestep,page up和page down調整撥號值,home和end鍵將值設定為定義的最小值 和最大值。
如果使用滑鼠滾輪調整刻度盤,則增量值由wheelsrollline的較小值(由singlestep和pagestep倍增)確定。
以各種小部件樣式顯示的撥號(從左到右):fusion,windows vista,macintosh。
一、屬性文件
1、notchsize : const int
該屬性保持當前的缺口大小。
缺口大小在範圍控制單元中,而不是畫素,並且如果可能的話,它是singlestep()的倍數,導致在notchtarget()附近的螢幕上的切口尺寸。
預設情況下,此屬性的值為1。
獲取函式;
int notchsize() const
2、notchtarget : qreal
該屬性擁有陷波之間的目標畫素數。
陷波目標是qdial嘗試在每個陷波之間放置的畫素數量。
實際尺寸可能與目標尺寸不同。
預設陷波目標是3.7畫素。
獲取函式;
qreal notchtarget() const
void setnotchtarget(double target)
3、notchesvisible : bool
該屬性保持是否顯示切口。
如果屬性為true,則在刻度盤周圍繪製一系列凹槽以指示可用值的範圍; 否則沒有顯示缺口。
預設情況下,此屬性被禁用。
獲取函式;
bool notchesvisible() const
void setnotchesvisible(bool visible)
該屬性保持是否啟用包裝。
如果為true,則開啟包裝; 否則在表盤底部插入一些空格以分隔有效值範圍的末端。
如果啟用,箭頭的方向可以是任意角度。 如果禁用,箭頭將被限制在撥號盤的上半部分; 如果它旋轉到刻度盤底部的空間中,它將被鉗位到有效值範圍的最近端。
預設情況下,該屬性為false。
獲取函式;
二、成員函式文件
1、qdial::qdial(qwidget *parent = q_nullptr)
構造乙個表盤。
父引數被傳送到qabstractslider建構函式。
2、qdial::~qdial()
銷毀表盤。
3、[virtual protected] bool qdial::event(qevent *e)
從qobject :: event()重新實現。
4、[protected] void qdial::initstyleoption(qstyleoptionslider *option) const
使用此qdial中的值初始化選項。 當他們需要qstyleoptionslider時,此方法對子類很有用,但不希望自己填寫所有資訊。
5、[virtual] qsize qdial::minimumsizehint() const
從qwidget :: minimumsizehint()重新實現。
6、[virtual protected] void qdial::mousemoveevent(qmouseevent *e)
從qwidget :: mousemoveevent()重新實現。
7、[virtual protected] void qdial::mousepressevent(qmouseevent *e)
從qwidget :: mousepressevent()重新實現。
8、[virtual protected] void qdial::mousereleaseevent(qmouseevent *e)
reimplemented from qwidget::mousereleaseevent().
9、[virtual protected] void qdial::paintevent(qpaintevent *pe)
從qwidget :: paintevent()重新實現。
10、[virtual protected] void qdial::resizeevent(qresizeevent *e)
從qwidget :: resizeevent()重新實現。
11、[virtual] qsize qdial::sizehint() const
從qwidget :: sizehint()重新實現。
12、[virtual protected] void qdial::sliderchange(sliderchange change)
從qabstractslider :: sliderchange()重新實現。
Qt 之 pro 配置子模組,實現模組化開發
下面是pro檔案中的 sources main.cpp mainwindow.cpp headers mainwindow.h forms mainwindow.ui include pwd common common.pri distfiles 下面是pri檔案中的 includepath pwd...
Qt 之 pro 配置子模組,實現模組化開發
下面是pro檔案中的 sources main.cpp mainwindow.cpp headers mainwindow.h forms mainwindow.ui include pwd common common.pri distfiles 下面是pri檔案中的 includepath pwd...
Qt模組簡介
qt 5 與 qt 4 最大的乙個區別之一是底層架構有了修改。qt 5 引入了模組化的概念,將眾多功能細分到幾個模組之中。qt 4 也有模組的概念,但是是一種很粗的劃分,而 qt 5 則更加細化。本節主要對 qt 5 的模組進行乙個簡單的介紹,以便以後大家需要哪些功能的時候知道到哪個模組去尋找。qt...