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

php mysql网站开发工资课程网站开发的开题报告

php mysql网站开发工资,课程网站开发的开题报告,企业网站优化费用,上海大众汽车网站哪家公司做的当程序加载较慢的时候#xff0c;为了告知用户正在加载#xff0c;需要在界面上显示正在加载中的提示。下面简单说一下自己使用中出现的问题。 一、在主线程中使用动画加载 创建基于qapplication的项目#xff0c;以qdialog类为基类#xff0c;有.ui文件。 项目的结构如下…当程序加载较慢的时候为了告知用户正在加载需要在界面上显示正在加载中的提示。下面简单说一下自己使用中出现的问题。 一、在主线程中使用动画加载 创建基于qapplication的项目以qdialog类为基类有.ui文件。 项目的结构如下图所示 需要自己在网上找一些加载中的动图存入gifs文件夹中建立项目后向项目中添加资源文件即添加新文件-》添加qt资源文件-》添加资源文件的文件夹名(这里填写的是qrc)-》向其中添加前缀添加文件再保存。 下面是创建的一个小的demo,直接上代码。 main.cpp #include dialog.h#include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);Dialog w;w.show();return a.exec(); }上面的main.cpp采用的是自动生成的文件未做任何改动。 dialog.h #ifndef DIALOG_H #define DIALOG_H#include QDialog #include QLabel #include QMovieQT_BEGIN_NAMESPACE namespace Ui { class Dialog; } QT_END_NAMESPACEclass Dialog : public QDialog {Q_OBJECTpublic:Dialog(QWidget *parent nullptr);~Dialog();void loadingGif(); private:Ui::Dialog *ui;QLabel * m_label;QLabel * m_textLabel;QMovie * m_movie; }; #endif // DIALOG_Hdialog.cpp #include dialog.h #include ui_dialog.hDialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog) {ui-setupUi(this);loadingGif(); }Dialog::~Dialog() {m_movie-stop();if(m_movie ! nullptr){delete m_movie;m_movie nullptr;}delete ui; }void Dialog::loadingGif() {m_label new QLabel(this);m_textLabel new QLabel(正在加载......,this);m_label-setGeometry(150,130,120,120);m_textLabel-setGeometry(150,250,120,40);m_movie new QMovie(:/new/prefix1/gifs/771.gif);m_label-setScaledContents(true);//缩放label使其适应其内容m_label-setFixedSize(120,120);m_label-setMovie(m_movie);m_movie-start(); }以上便是项目的源文件运行程序后效果如下。 编译环境为qtcreate5.13.2编译器为MinGW32位。 二、通过子线程使用动画加载 也是创建基于qapplication的应用程序基类位qdialog包含ui文件。 文件的结构如下 具体的代码如下 mian.cpp #include dialog.h#include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);Dialog w;w.show();return a.exec(); }dialog.h #ifndef DIALOG_H #define DIALOG_H#include hintthread.h #include QDialog #include QLabel #include QMovie #include QVBoxLayoutQT_BEGIN_NAMESPACE namespace Ui { class Dialog; } QT_END_NAMESPACEclass Dialog : public QDialog {Q_OBJECTpublic:Dialog(QWidget *parent nullptr);~Dialog();void diaplayHintMark();//显示正在更新的动画 public slots:void slot_displayHintMark(); private:Ui::Dialog *ui;QLabel * m_label;QMovie * m_movie;QLabel * m_textLabel;QVBoxLayout * m_layout;hintThread * m_thread; }; #endif // DIALOG_Hdialog.cpp #include dialog.h #include ui_dialog.h #include QDebug #include QPaletteDialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog) {ui-setupUi(this);// this-setWindowFlags(Qt::FramelessWindowHint|Qt::WindowMinimizeButtonHint);QPalette palette(this-palette());palette.setColor(QPalette::Background, QColor(16,48,155,255));this-setPalette(palette); // this-setAttribute(Qt::WA_TranslucentBackground);//创建线程子线程更新提示m_thread new hintThread(this);m_thread-start();// diaplayHintMark(); }Dialog::~Dialog() {m_movie-stop();if(m_movie ! nullptr){delete m_movie;m_movie nullptr;}if(m_thread-isRunning()){m_thread-quit();m_thread-wait();if(m_thread ! nullptr){delete m_thread;m_thread nullptr;}}else{if(m_thread ! nullptr){delete m_thread;m_thread nullptr;}}delete ui; }void Dialog::diaplayHintMark() {qDebug()开始加载;//ui-insideWidgetm_label new QLabel(this/*,Qt::WindowStaysOnTopHint*/);m_movie new QMovie(:/new/prefix1/gifs/771.gif);m_label-setGeometry(QRect(100,100,120,120));m_label-setFixedSize(120,120);m_label-setScaledContents(true);m_label-setMovie(m_movie);m_textLabel new QLabel(努力加载中请稍后.....,this);m_textLabel-setGeometry(100,220,300,40);m_label-show();//没有调用显示函数m_textLabel-show();m_movie-start();qDebug()你好。。。。;qDebug()what should i do。。。。; }void Dialog::slot_displayHintMark() {diaplayHintMark(); } hintthread.h #ifndef HINTTHREAD_H #define HINTTHREAD_H#include QThreadclass Dialog; class hintThread : public QThread { Q_OBJECT public:hintThread(Dialog * dlg);hintThread(QObject* parent 0); signals:void signalDisplayHintMark(); public slots:void slot_displayHintMark(); protected:void run(); private:Dialog * m_dlg; }; #endif // HINTTHREAD_H hintthread.cpp #include hintthread.h #include dialog.hhintThread::hintThread(Dialog * dlg) :QThread() {m_dlg dlg;//以下两种信号槽绑定都可以 // connect(this,SIGNAL(signalDisplayHintMark()),m_dlg,SLOT(slot_displayHintMark()));connect(this,SIGNAL(signalDisplayHintMark()),this,SLOT(slot_displayHintMark())); }hintThread::hintThread(QObject* parent): QThread(parent) {}void hintThread::slot_displayHintMark() {m_dlg-diaplayHintMark(); }void hintThread::run() {emit signalDisplayHintMark(); } 程序的运行效果和上面类似 。第二个例子中通过创建子线程时传入主线程的指针在子线程中发出信号通过主线程指针调取主线程ui中的函数。上面第二个例子中diaplayHintMark()函数未调用两个label的show()显示时无法正常的显示此时函数中label也已设置了父窗口但没法显示。在第一个例子中也只是设置了label的父窗口没有调用show(),可以显示没想明白是什么原因望知情者告知。
http://www.pierceye.com/news/256413/

相关文章:

  • 主题公园旅游景区网站建设网站后台图片模板
  • 慈溪网站建设慈溪WordPress点击文章显示404
  • 网站建设与seo网站开发项目总结范文
  • 做竞彩网站代理犯法么建站公司 网站
  • 浙江建设证书查询seo服务公司深圳
  • 长沙协会网站设计专业服务医疗信息化软件公司排名
  • 北京网站制作一般多少钱黑色网站欣赏
  • 广州建设工程造价管理站wordpress获取文章title
  • 免费购物网站源码网站开发的论文引言
  • 商城网站开发需要哪些人员本机建的网站打开却很慢
  • 网站建设哪专业学会python做网站
  • vs怎么添加图片做网站地方门户网站管理系统
  • 三亚做网站的公司科技网站推荐
  • 电商网站运维怎么做自己做网站创业
  • seo有哪些网站集团公司网站 案例
  • 传媒大学附近网站建设公司天津市工程建设公众信息网官网
  • 关于网站建设与维护的参考文献家装设计费用多少钱一平方
  • 网站建设与管理专业概述网站建设报价费用是多少
  • asp医院网站源码破解版北京企业做网站报价
  • 个人做电商网站赚钱吗门业网站模板
  • 企业产品微网站收费吗wordpress移服务器改域名
  • 原创文章网站网站建设团队介绍
  • WordPress建站详细过程安康建设网站
  • 仿视频网站开发wordpress下载文件
  • 专业的个人网站建设哪家建筑施工企业专职安全生产管理员
  • 企业网站模板php全球网站排名前100
  • 1688网站可以做全屏吗有哪些网站是织梦做的
  • vue2.0网站开发做网站没有成本的方法
  • 手机网站和app有什么区别流量对网站排名的影响因素
  • 北京全网营销推广公司网站建设以及seo