旋鈕QDial
QDial
表示一個旋鈕控件。
1. QDial屬性
屬性 | 說明 |
---|---|
value | 當前數值。 |
minimum | 最小值。 |
maximum | 最大值。 |
singleStep | 按下方向鍵時改變的步長。 |
pageStep | 按下 pageUp/pageDown 的時候改變的步長。 |
sliderPosition | 界面上旋鈕顯示的初始位置。 |
tracking | 外觀是否會跟蹤數值變化(默認為 true )。 |
wrapping | 是否允許循環調整(即超過最大值時變為最小值)。 |
notchesVisible | 是否顯示刻度線。 |
notchTarget | 刻度線的密度(數字越大越稀疏)。 |
2. QDial信號
信號 | 說明 |
---|---|
valueChanged(int) | 數值變化時觸發。 |
rangeChanged(int, int) | 范圍變化時觸發。 |
3. 使用QDial制作調整窗口不透明度的旋鈕
要注意,Qt 中窗口的不透明度是一個 [ 0 , 1.0 ] [0,1.0] [0,1.0] 的浮點數,而 QDial
的旋鈕值為整型,設置時需要強轉一下:
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->dial->setWrapping(true);ui->dial->setNotchesVisible(true);ui->dial->setMaximum(100);ui->dial->setMinimum(1);ui->dial->setValue(100);
}Widget::~Widget()
{delete ui;
}void Widget::on_dial_valueChanged(int value)
{this->setWindowOpacity((double)value/100);
}