实验目的
学习使用表盘dial、滑动条Slider、水平卷动条HorizentalScrollBar
学习使用ProcessBar ,以及相关属性 textVisible 显示百分比或值、invertedAppearance 是否反转
学习使用信号、槽函数connect连接,将表盘表盘dial、滑动条Slider、水平卷动条HorizentalScrollBar 的ValueChanged事件信号,传递给统一的槽函数do_ValueChanged执行
布局
sliderprocess.cpp
#include "sliderprocess.h"
#include "ui_sliderprocess.h"
SliderProcess::SliderProcess(QWidget *parent)
: QWidget(parent)
, ui(new Ui::SliderProcess)
{
ui->setupUi(this);
//用CONNECT 将 表盘dial、滑动条Slider、水平卷动条HorizentalScrollBar 值变化事件关联到自定义的槽函数
connect(ui->dial,SIGNAL(valueChanged(int)),this,SLOT(do_ValueChanged(int)));
connect(ui->horizontalSlider,SIGNAL(valueChanged(int)),this,SLOT(do_ValueChanged(int)));
connect(ui->horizontalScrollBar,SIGNAL(valueChanged(int)),this,SLOT(do_ValueChanged(int)));
}
SliderProcess::~SliderProcess()
{
delete ui;
}
//自定义槽函数 给processBar赋值
void SliderProcess::do_ValueChanged(int value)
{
ui->progressBar->setValue(value);
}
//进度条是否反向显示 从左到右
void SliderProcess::on_chkInverted_clicked(bool checked)
{
ui->progressBar->setInvertedAppearance(checked);
}
//进度条是否显示文本
void SliderProcess::on_chkTextVisible_clicked(bool checked)
{
ui->progressBar->setTextVisible(checked);
}
void SliderProcess::on_radioPercent_clicked()
{
ui->progressBar->setFormat("%p%");// 两个%
}
void SliderProcess::on_radioValue_clicked()
{
ui->progressBar->setFormat("%v");
}
效果