当前位置: 首页 > news >正文

asp网络公司程序 网站公司企业建设源码 网站设计模板seo优化中国建设银行网址多少

asp网络公司程序 网站公司企业建设源码 网站设计模板seo优化,中国建设银行网址多少,搭建一个app平台要多少钱,网站建设与运营的课程标准背景: 一开始是通过在主线程中写一个for循环,每次加1后睡眠1s进行进度条更新。但这样写的结果是 --> 无法动态显示进度条进度。后通过上一篇文章 [ QT5|C|通过信号槽机制实现进度条更新 ] 中的写信号槽机制实现。实现后 考虑了下有没有其他方式实现&a…

背景: 一开始是通过在主线程中写一个for循环,每次加1后睡眠1s进行进度条更新。但这样写的结果是 --> 无法动态显示进度条进度。后通过上一篇文章 [ QT5|C++|通过信号槽机制实现进度条更新 ] 中的写信号槽机制实现。实现后 考虑了下有没有其他方式实现,后想到了通过子线程方式。以下是通过子线程实现的具体事例:

功能: 
(1)点击【显示进度条进度】按钮,每隔1s动态加载进度条进度直到加载到100%;
(2)点击【退出】按钮,关闭当前对话框。

1、dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"
#include<QPushButton>
//#include<QThread>
#include<thread>
#include<chrono>
#include<iostream>Dialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog)
{ui->setupUi(this);connect(ui->quit_pushButton,&QPushButton::clicked,this,&QDialog::accept);ui->progressBar->setRange(1,100);std::thread myThread([=]{ThreadFunction();});myThread.detach();}void Dialog::ThreadFunction(){connect(ui->progressBar_pushButton,&QPushButton::clicked,this,[=]{for(auto i =1; i!=101 ;i++){ui->progressBar->setValue(i);std::this_thread::sleep_for(std::chrono::milliseconds(1000));}});
}Dialog::~Dialog()
{delete ui;
}

2、dialog.h

#ifndef DIALOG_H
#define DIALOG_H#include <QDialog>QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACEclass Dialog : public QDialog
{Q_OBJECTpublic:Dialog(QWidget *parent = nullptr);~Dialog();void ThreadFunction();private:Ui::Dialog *ui;
};
#endif // DIALOG_H

3、main.cpp

#include "dialog.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Dialog w;w.show();return a.exec();
}

4、Dialog.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"><class>Dialog</class><widget class="QDialog" name="Dialog"><property name="geometry"><rect><x>0</x><y>0</y><width>800</width><height>600</height></rect></property><property name="windowTitle"><string>Dialog</string></property><widget class="QWidget" name="verticalLayoutWidget"><property name="geometry"><rect><x>150</x><y>370</y><width>351</width><height>161</height></rect></property><layout class="QVBoxLayout" name="verticalLayout"><item><layout class="QHBoxLayout" name="horizontalLayout"><item><widget class="QPushButton" name="progressBar_pushButton"><property name="text"><string>显示进度条进度</string></property></widget></item><item><widget class="QPushButton" name="quit_pushButton"><property name="text"><string>退出</string></property></widget></item></layout></item><item><layout class="QHBoxLayout" name="horizontalLayout_2"><item><widget class="QProgressBar" name="progressBar"><property name="value"><number>0</number></property></widget></item></layout></item></layout></widget></widget><resources/><connections/>
</ui>

注意事项:

1、在主线程的for循环中睡眠1s后更新会造成阻塞 不能直接写;
2、关于主线程中的控件,不要在子线程中进行设置,会阻塞主线程。
(关于这一点猜测的原因:qt内部机制 刷新不及时(虽然会阻塞,最终还是会更新完进度)。如果有大神了解具体原因,请详细介绍下,虚心学习)

显示效果:

子线程进度条

http://www.yayakq.cn/news/403200/

相关文章:

  • 自定义建设网站新手学网络运营要多久
  • 安阳网站制作 网络服务重庆哪个区最繁华
  • 柳城企业网站开发公司巴基斯坦人做网站怎么样
  • 做多级分销的网站微信开放平台是什么
  • 创建网站的费用网站建设培训一般多少钱
  • 上海如何做网站wordpress 重启
  • 大悟网站开发百度高级搜索页面
  • 网站标题主关键词做电影网站要几G空间的
  • 银川网站网站建设公众号的网站怎么做的
  • 宜都网站制作宝安网站设计流程
  • 扁平化网站源码网站制作属于什么科目
  • 设计师图片素材网站wordpress招商平台
  • 怎么给网站加ico图标wordpress主题不更新
  • 通用网址查询网站免费开发个人小程序的平台
  • 昆明网站制作工具石家庄制作网站的公司简介
  • 顺义做网站同学网站后台模板 下载
  • 商城网站验收做网站要懂哪些
  • 培训网站建设wordpress会员制
  • 猪八戒网仿照哪个网站做的网页和网站区别是什么
  • 台州 做网站做电商网站搭建晋升
  • cms免费企业网站雄安免费网站建设哪家好
  • 成都网站建设 培训班网站建设中 目录是什么
  • 做网站要了解的事情wordpress后台网页无法访问
  • 宣城网站seo诊断全屋整装十大排名全国前十强
  • 织金网站建设网站内容要求
  • 贵阳商城网站开发做网站的费用计入什么科目
  • 网站开发哪家公司口碑好wordpress 4.8.1
  • 贸易公司做网站雅布设计创始人
  • 怎么用php做网站后台程序300m空间够用吗 wordpress
  • 网站常用的中文字体管理咨询公司名称