滑动条QSlider和进度条QProgressBar

1. 滑动条:QSlider

实例化

 //实例化1
//    QSlider* slider = new QSlider(this);QSlider* slider = new QSlider(Qt::Horizontal,this);//第一个参数使摆放方式

2.1滑动条的基本函数

滑动条刻度的 位置 参数

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;
}

2.2 信号

void actionTriggered(int action)//在滑块滑动时被触发时发出void rangeChanged(int min, int max)//当滑动条范围发生变化时,发出此信号void sliderMoved(int value)//滑动条移动时触发信号void sliderPressed()//按住滑动条滑轮时触发void sliderReleased()//当用户用鼠标释放滑块时(即松开时触发)void valueChanged(int value)//当滑动条值改变时,这个信号被发出

2.2.1 举例

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()<<"音量值:"<<value<<endl;
}

2. 进度条:QProgressBar

实例化

//实例化QProgressBar* progressBar = new QProgressBar(this);

2.1 代码实现

2.1.1 进度条的基本函数

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;
}

2.2 信号

当进度条中显示的值发生变化时,就会发出这个信号。

2.3 练习:实现滑动条控制进度条

QSlider_QProgressBar

dialog.h

#ifndef DIALOG_H
#define DIALOG_H#include <QDialog>
#include <QSlider>
#include <QProgressBar>
#include <QDebug>QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACEclass Dialog : public QDialog
{Q_OBJECTpublic: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()<<value<<endl;//设置进度条的值this->progressBar->setValue(value);
}

3. 实现食堂满意度调查表

要求:

(1)设置3个选项,选项题目自由返回

(2)每个选项下分4个选择, 最好的选择分数为10分

(3)用户可以自行填写满意度调查表

(4)实现对满意度分值的计算,并给出相关建议(根据不同的分段,建议不同)

(5)用户必须将每个选项填写完成,如果没有填写完,则给予用户提示

例如:

你对食堂早餐满意度

很好:10       一般:6               不好:4              很差:0

Diao_shitang

dialog.h

#ifndef DIALOG_H
#define DIALOG_H#include <QDialog>
#include <QDebug>QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACEclass Dialog : public QDialog
{Q_OBJECTpublic: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
dialog.cpp

#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()<<sum<<endl;if(count==3){if(sum<=10){qDebug()<<"非常抱歉,我们侯期一定注意整改"<<endl;ui->jianyi->setText("非常抱歉,我们侯期一定注意整改");count=0;sum=0;}else if(sum>10 && sum<=20){qDebug()<<"谢谢你的配合,关于你反应的问题,我会高度重视"<<endl;ui->jianyi->setText("谢谢你的配合,关于你反应的问题,我会高度重视");count=0;sum=0;}else if(sum>20 && sum<=30){qDebug()<<"谢谢你对我们的肯定,对于不足我们正在改进,谢谢"<<endl;ui->jianyi->setText("谢谢你对我们的肯定,对于不足我们正在改进,谢谢");count=0;sum=0;}}else{qDebug()<<"请做完所有题目!"<<endl;ui->jianyi->setText("请做完所有题目!");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/615545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高工微报告|智驾前视一体机趋势

传统智驾前视一体机赛道上&#xff0c;1V3R、1V5R产品如何升级备受关注。 根据日前调研获取的信息&#xff0c;1V3R、1V5R向轻量级行泊一体&#xff08;典型为5V5R12U方案&#xff0c;算力平台5-20TOPS&#xff09;迈进的具体市场空间&#xff0c;仍在验证阶段。 其中&#x…

c#图片作为鼠标光标

图片转换为鼠标光标代码如下&#xff1a; private void Form1_Load(object sender, EventArgs e) {//button1.Cursor System.Windows.Forms.Cursors.Hand;Bitmap bmp new Bitmap("780.jpg");Cursor cursor new Cursor(bmp.GetHicon());button1.Cursor cursor;} …

CSS进阶方法——复合选择器、元素显示、背景设置

1、复合选择器 复合选择器是建立在基础选择器之上&#xff0c;对基础选择器进行组合形成的。 复合选择器可以更准确、更高效的选择目标元素&#xff08;标签&#xff09;复合选择器是由两个或多个基础选择器&#xff0c;通过不同的方式组合而成的常用的复合选择器包括&#xf…

20240112-【UNITY 学习】实现第一人称移动教程

1、创建一个空物体&#xff0c;挂载Rigidbody组件&#xff0c;并设置相应参数 2、在上述空物体下创建一个胶囊体&#xff0c;两个空物体&#xff0c;一个用来控制朝向&#xff0c;另一个用来控制摄像机 3、给摄像机创建一个父物体&#xff0c;并挂载脚本MoveCamera_01.cs using…

“数据要素×”行动计划发布,粮食安全监管如何应变?

近日&#xff0c;国家数据局发布“数据要素”三年行动计划&#xff08;2024-2026年&#xff09;&#xff0c;在“数据要素现代农业“部分提到&#xff1a;提升农业综合生产能力&#xff0c;支持农业生产经营主体和相关服务企业融合利用气象、土壤、农事作业、病虫害、市场等数据…

wav2lip中文语音驱动人脸训练

1 Wav2Lip介绍 1.1 Wav2Lip概述 2020年&#xff0c;来自印度海德拉巴大学和英国巴斯大学的团队&#xff0c;在ACM MM2020发表了的一篇论文《A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild 》&#xff0c;在文章中&#xff0c;他们提出一个叫做…

Jenkins基础篇--添加节点

节点介绍 Jenkins 拥有分布式构建(在 Jenkins 的配置中叫做节点)&#xff0c;分布式构建能够让同一套代码在不同的环境(如&#xff1a;Windows 和 Linux 系统)中编译、测试等。 Jenkins 运行的主机在逻辑上是 master 节点&#xff0c;下图是主节点和从节点的关系。 添加节点 …

2024年五款值得买的云服务器推荐,便宜又好用

作为多年站长使市面上大多数的云厂商的云服务器都使用过&#xff0c;很多特价云服务器都是新用户专享的&#xff0c;本文有老用户特价云服务器&#xff0c;阿腾云atengyun.com有多个网站、小程序等&#xff0c;国内头部云厂商阿里云、腾讯云、华为云、UCloud、京东云都有用过&a…

Bluefin借助Sui性能,交出亮眼的DeFi成绩

Bluefin的创始人希望在去中心化平台上提供先进、资本效率高的衍生品交易。要与传统金融领域的竞争对手一较高下&#xff0c;该平台需要在性能、成本效益和可访问性方面表现出色&#xff0c;以服务机构和个人用户。 2023年&#xff0c;Bluefin团队在Arbitrum上进行的beta发布帮…

Android studio第一次构建项目Gradle失败的解决方法

每次在AS上新创建一个项目&#xff0c;gradle要下载半天或者是直接下载半天后以失败告终&#xff0c;抓狂并崩溃。 原因&#xff1a; 这是因为AS默认去下载gradle的网站是在国外的&#xff0c;而且国内的网络经常是访问不到那个网站的&#xff0c;能访问到有时候就跟中大奖一…

GPT function calling v2

原文&#xff1a;GPT function calling v2 - 知乎 OpenAI在2023年11月10号举行了第一次开发者大会&#xff08;OpenAI DevDays&#xff09;&#xff0c;其中介绍了很多新奇有趣的新功能和新应用&#xff0c;而且更新了一波GPT的API&#xff0c;在1.0版本后的API调用与之前的0.…

springboot057洗衣店订单管理系统

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;一 、设计说明 1.1 研究背景 如…

《NLP入门到精通》栏目导读

一、说明 栏目《NLP入门到精通》本着从简到难得台阶式学习过度。将自然语言处理得知识贯穿过来。本栏目得前导栏目是《深度学习》、《pytorch实践》&#xff0c;因此&#xff0c;读者需要一定得深度学习基础&#xff0c;才能过度到此栏目内容。 二、博客建设理念 本博客基地&am…

C++系列-第1章顺序结构-6-加法、减法和乘法

在线练习&#xff1a; http://noi.openjudge.cn/ https://www.luogu.com.cn/ 总结 本文是C系列博客&#xff0c;主要讲述加法减法乘法的用法 加法 减法 乘法 当然可以。下面我将分别为初一的同学提供C中加法、减法、乘法的简单教程和案例&#xff0c;最后再提供一个综合性的…

Java SE入门及基础(9)

if选择结构 1. 基本if选择结构 语法 if ( 条件 ){ // 如果条件满足&#xff0c;则执行代码块 //代码块 } 案例 从控制台输入一个整数&#xff0c;如果该数字小于 10 &#xff0c;则输出 10 与该数字的差值。 流程图 代码实现 public class Example1 { public s…

The Planets:Earth

靶机下载 The Planets: Earth ~ VulnHub 信息收集 # nmap -sn 192.168.1.0/24 -oN live.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-11 09:20 CST Nmap scan report for 192.168.1.1 Host is up (0.00036s latency). MAC Address: …

Linux 抓包还不会?这篇文章赶紧收藏!

前言 什么是TCPDUMP TCPdump&#xff0c;全称dump the traffic on a network&#xff0c;是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具。 tcpdump可以支持的功能&#xff1a; 1、在Linux平台将网络中传输的数据包全部捕获过来进行分析 …

RT-DETR优化:UNetv2多层次特征融合模块结合DualConv、GSConv

🚀🚀🚀本文改进:多层次特征融合(SDI)结合DualConv、GSConv模块等实现二次创新 🚀🚀🚀SDI 亲测在多个数据集能够实现涨点,同样适用于小目标检测 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定…

SmartX 超融合和分布式存储支持哪些信创硬件?如何选型配置?

为了推动 IT 基础架构国产化转型&#xff0c;不少用户都使用 SmartX 超融合和分布式存储构建信创云基础设施。其中&#xff0c;信创硬件的选型与配置往往是用户在规划与部署环节关注的重点&#xff1a;国产 CPU/存储怎么选&#xff1f;哪个系列/型号的性价比最高&#xff1f;如…

记录汇川:H5U与Fctory IO测试9

主程序&#xff1a; 子程序&#xff1a; IO映射 子程序&#xff1a; 出料程序 子程序&#xff1a; 自动程序 Fctory IO配置&#xff1a; 实际动作如下&#xff1a; Fctory IO测试9