微调框
它可以调节值,具有范围,可以设置每次的波动大小,可以添加前缀和后缀
QSpinBox and QDoubleSpinBox
#设置
函数 | 描述 |
---|---|
void setDisplayIntegerBase(int base) | 显示的进制 |
void setMaximum(int max) | 最大值 |
void setMinimum(int min) | 最小值 |
void setPrefix(const QString &prefix) | 前缀 |
void setRange(int minimum, int maximum) | 范围 |
void setSingleStep(int val) | 波动值 |
void setSuffix(const QString &suffix) | 后缀 void setvalue() |
setWrapping(true) | 设置循环 |
virtual QString textFromValue(int value) | 文本显示格式 |
#signal
void valueChanged(double d)
void valueChanged(const QString &text)
/*
* 微调框的的属性
* 前缀,后缀,步长,范围
*/
mywidget::mywidget()
{
setWindowTitle("my widget test");
QVBoxLayout *layout=new QVBoxLayout(this);
// ...
QSpinBox *pspinbox = new QSpinBox(this);
pspinbox->setRange(0, 100); // 范围
pspinbox->setSingleStep(1); // 步长
pspinbox->setValue(10); // 当前值
pspinbox->setPrefix("下载进度 "); // 前缀
pspinbox->setSuffix(" %"); // 后缀
pspinbox->setWrapping(true); // 开启循环
QTimer *ptimer=new QTimer(this);
connect(ptimer,&QTimer::timeout,[&pspinbox]{
int value=pspinbox->value()+1;
pspinbox->setValue(value);
});
ptimer->start(1000);
connect(pspinbox, QOverload<int>::of(&QSpinBox::valueChanged),
[=](int value)
{
qDebug() << "Value : " << value;
qDebug() << "Text : " << pspinbox->text();
});
//QDoubleSpinBox相似
layout->addWidget(pspinbox);
this->setFixedSize(300,300);
this->show();
}
QSlider
水平滑动条的微调框,,步长,刻度
void setTickInterval(int ti)//刻度间隔值
void setTickPosition(QSlider::TickPosition position)//当前位置
#signals
valueChanged() Emitted when