实例化
//实例化1
// QSlider* slider = new QSlider(this);
QSlider* slider = new QSlider(Qt::Horizontal,this);//第一个参数使摆放方式
滑动条刻度的 位置 参数
QSlider::NoTicks //不要画任何标记
QSlider::TicksBothSides //在槽的两边画刻度
QSlider::TicksAbove //在(水平)滑块上方画刻度
QSlider::TicksBelow //在(水平)滑块下方绘制刻度标记
QSlider::TicksLeft //在(垂直)滑块的左侧绘制刻度
QSlider::TicksRight //在(垂直)滑块的右侧绘制刻度
QSlider
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
//滑动条的使用
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
//设置刻度值
this->slider->setTickInterval(10);
//设置滑动条刻度的位置
this->slider->setTickPosition(QSlider::TicksBelow);//下面有刻度
//获取刻度值
this->slider->tickInterval();
//获取滑动条的位置
this->slider->tickPosition();
//设置滑动条的当前值
this->slider->setValue(5);
//设置滑动条的范围
this->slider->setRange(0,10);
}
Dialog::~Dialog()
{
delete ui;
}
void actionTriggered(int action)//在滑块滑动时被触发时发出
void rangeChanged(int min, int max)//当滑动条范围发生变化时,发出此信号
void sliderMoved(int value)//滑动条移动时触发信号
void sliderPressed()//按住滑动条滑轮时触发
void sliderReleased()//当用户用鼠标释放滑块时(即松开时触发)
void valueChanged(int value)//当滑动条值改变时,这个信号被发出
QSlider
绑定
dialog.cpp
//绑定滑动条移动的信号
connect(this->slider,SIGNAL(sliderMoved(int)),this,SLOT(value_Changed(int)));
槽
定义
dialog.h
public slots://滑动条移动
void value_Changed(int value);
实现
dialog.cpp
void Dialog::value_Changed(int value){
qDebug()<<"音量值:"<
实例化
//实例化
QProgressBar* progressBar = new QProgressBar(this);
QProgressBar
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
//进度条的使用
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
//复位
this->progressBar->reset();
//设置最大值
this->progressBar->setMaximum(100);
//设置最小值
this->progressBar->setMinimum(0);
//设置当前值
this->progressBar->setValue(50);//意思是加载时,就从50%开始加载
//设置进度条的范围
this->progressBar->setRange(0,100);
//设置进度条的摆放形式
this->progressBar->setOrientation(Qt::Horizontal);//水平
//设置进度条的加载方向
this->progressBar->setInvertedAppearance(true);//反向加载
}
Dialog::~Dialog()
{
delete ui;
}
#ifndef DIALOG_H
#define DIALOG_H
#include
#include
#include
#include
QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACE
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
public slots://槽
void rece_value(int value);
private:
Ui::Dialog *ui;
//实例化滑动条和进度条
QSlider* slider = new QSlider(Qt::Horizontal,this);
QProgressBar* progressBar = new QProgressBar(this);
};
#endif // DIALOG_H
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
//实现滑动条控制进度条
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
//移动滑动条的位置
this->slider->move(100,100);
//移动进度条的位置
this->progressBar->move(100,300);
//绑定滑动条滑动触发信号
connect(this->slider,SIGNAL(sliderMoved(int)),this,SLOT(rece_value(int)));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::rece_value(int value){
qDebug()<progressBar->setValue(value);
}
要求:
(1)设置3个选项,选项题目自由返回
(2)每个选项下分4个选择, 最好的选择分数为10分
(3)用户可以自行填写满意度调查表
(4)实现对满意度分值的计算,并给出相关建议(根据不同的分段,建议不同)
(5)用户必须将每个选项填写完成,如果没有填写完,则给予用户提示
例如:
你对食堂早餐满意度
很好:10 一般:6 不好:4 很差:0
Diao_shitang
dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include
#include
QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACE
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
public slots:
void rece_peoblem1(const QString& text);
void rece_peoblem2(const QString& text);
void rece_peoblem3(const QString& text);
private slots:
void on_pushButton_clicked();
private:
Ui::Dialog *ui;
int sum = 0;//记录总分
int count = 0;//保证用户做完每个题的标志位
};
#endif // DIALOG_H
#include "dialog.h"
#include "ui_dialog.h"
/*
实现食堂满意度调查表
要求:
(1)设置3个选项,选项题目自由返回
(2)每个选项下分4个选择, 最好的选择分数为10分
(3)用户可以自行填写满意度调查表
(4)实现对满意度分值的计算,并给出相关建议(根据不同的分段,建议不同)
(5)用户必须将每个选项填写完成,如果没有填写完,则给予用户提示
例如:
你对食堂早餐满意度
很好:10 一般:6 不好:4 很差:0
*/
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
//绑定问题1 2 3 中的列表项被选中的信号
connect(ui->problem1,SIGNAL(activated(QString)),this,SLOT(rece_peoblem1(QString)));
connect(ui->problem2,SIGNAL(activated(QString)),this,SLOT(rece_peoblem2(QString)));
connect(ui->problem3,SIGNAL(activated(QString)),this,SLOT(rece_peoblem3(QString)));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::rece_peoblem1(const QString &text){
QStringList list = text.split(" ");//以空格分割获取的内容
QString xuanxiang = list[0];//取出选项
if(xuanxiang=="A"){
sum+=10;
}else if(xuanxiang=="B"){
sum+=6;
}else if(xuanxiang=="C"){
sum+=4;
}else if(xuanxiang=="D"){
sum+=0;
}
count++;
}
void Dialog::rece_peoblem2(const QString &text){
QStringList list = text.split(" ");//以空格分割获取的内容
QString xuanxiang = list[0];//取出选项
if(xuanxiang=="A"){
sum+=10;
}else if(xuanxiang=="B"){
sum+=6;
}else if(xuanxiang=="C"){
sum+=4;
}else if(xuanxiang=="D"){
sum+=0;
}
count++;
}
void Dialog::rece_peoblem3(const QString &text){
QStringList list = text.split(" ");//以空格分割获取的内容
QString xuanxiang = list[0];//取出选项
if(xuanxiang=="A"){
sum+=10;
}else if(xuanxiang=="B"){
sum+=6;
}else if(xuanxiang=="C"){
sum+=4;
}else if(xuanxiang=="D"){
sum+=0;
}
count++;
}
//提交
void Dialog::on_pushButton_clicked()
{
qDebug()<jianyi->setText("非常抱歉,我们侯期一定注意整改");
count=0;
sum=0;
}else if(sum>10 && sum<=20){
qDebug()<<"谢谢你的配合,关于你反应的问题,我会高度重视"<jianyi->setText("谢谢你的配合,关于你反应的问题,我会高度重视");
count=0;
sum=0;
}else if(sum>20 && sum<=30){
qDebug()<<"谢谢你对我们的肯定,对于不足我们正在改进,谢谢"<jianyi->setText("谢谢你对我们的肯定,对于不足我们正在改进,谢谢");
count=0;
sum=0;
}
}else{
qDebug()<<"请做完所有题目!"<jianyi->setText("请做完所有题目!");
}
}