插入动画及程序启动画面
来源:互联网 发布:mac版本网游 编辑:程序博客网 时间:2024/05/17 04:23
界面设计如下:(第一个页面为主页面mainwindow.ui,第二个页面为弹出对话框about.ui)
mainwindow.cpp
about.cpp (gig文件"hehe.gif"与cpp文件在同一目录下)
main.cpp
mainwindow.h
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QDesktopServices> //桌面服务#include <QUrl>#include "about.h"#include <QPixmap>#include <QSplashScreen>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow();private: Ui::MainWindow *ui;private slots: void aboutWebSlot();//打开一个网站,使用的是默认浏览器 void aboutSoftwareSlot();//弹出子对话框};#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); //qApp为应用程序实例化全局指针,aApp含有aboutQt()的方法 QObject::connect(ui->aboutQTAction,SIGNAL(triggered(bool)),qApp,SLOT(aboutQt())); QObject::connect(ui->aboutWebAction,SIGNAL(triggered(bool)),this,SLOT(aboutWebSlot())); QObject::connect(ui->aboutSoftwareAction,SIGNAL(triggered(bool)),this,SLOT(aboutSoftwareSlot()));}MainWindow::~MainWindow(){ delete ui;}void MainWindow::aboutWebSlot(){ QDesktopServices::openUrl(QUrl("www.baidu.com"));}void MainWindow::aboutSoftwareSlot(){ about *dlg=new about; //dlg->show();//非模态对话框 dlg->exec();//模态对话框}
#ifndef ABOUT_H#define ABOUT_H#include <QDialog>#include <QMovie>#include <QDebug>namespace Ui {class about;}class about : public QDialog{ Q_OBJECTpublic: explicit about(QWidget *parent = 0); ~about();private: Ui::about *ui; QMovie *movie;private slots: void startMovieSlot(); void stopMovieSlot();};#endif // ABOUT_H
about.cpp (gig文件"hehe.gif"与cpp文件在同一目录下)
#include "about.h"#include "ui_about.h"about::about(QWidget *parent) : QDialog(parent), ui(new Ui::about){ ui->setupUi(this); this->movie=new QMovie("hehe.gif"); //加载动画片 ui->movieLabel->setMovie(this->movie); //动画片放置在Label中 this->movie->start(); //开始播放 //获取动画片帧数 qDebug()<<"这个动画片有"<<this->movie->frameCount()<<"帧"; QObject::connect(ui->startButton,SIGNAL(clicked(bool)),this,SLOT(startMovieSlot())); this->connect(ui->stopButton,SIGNAL(clicked(bool)),this,SLOT(stopMovieSlot()));}about::~about(){ delete ui;}void about::startMovieSlot(){ this->movie->start();}void about::stopMovieSlot(){ this->movie->stop();}
main.cpp
#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); //设置程序启动画面 QPixmap pixmap("hehe.gif"); QSplashScreen splash(pixmap); splash.show(); //程序空跑,为启动画面分配时间 for(long i=0;i<80000000;i++); MainWindow w; w.show(); splash.finish(&w); //结束启动画面 return a.exec();}
阅读全文
0 0
- 插入动画及程序启动画面
- iPhone开发之启动画面及动画
- iPhone开发之启动画面及动画
- iPhone开发之启动画面及动画
- iPhone开发之启动画面及动画
- iPhone开发之启动画面及动画
- iPhone开发之启动画面及动画
- 程序启动画面
- VC程序启动画面
- vc 程序启动画面
- VC程序启动画面
- 程序启动画面
- Qt_程序启动画面
- android程序启动画面
- vc 程序启动画面
- java程序启动画面
- 程序启动画面 QSplashScreen
- Qt程序启动画面
- 字母塔
- PPT这样学就对了之内容页圆环图的制作
- projecteuler.net 2--Even Fibonacci numbers
- bzoj2734 集合选数
- 我的第一个Java程序:My First Java!
- 插入动画及程序启动画面
- C++多继承代码理解
- HTML入门4
- 易飞拆解组合单财务处理
- ArcGIS API for JavaScript实现地图双屏联动
- 网易2018校招编程题3
- 冒泡排序
- 【网络编程】netcat使用方法
- Docker导入导出镜像