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

昆明购物网站建设创建个人网站的流程

昆明购物网站建设,创建个人网站的流程,青岛网络建站网站推广,网站关键词修改实现软件启动界面,用到QSplashScreen类。 效果 启动界面 描述 QSplashScreen小部件提供了一个可以在应用程序启动期间显示的启动画面。 启动画面通常是在应用程序启动时显示的小部件。启动画面通常用于启动时间较长的应用程序(例如需要花费一些时间来建…

实现软件启动界面,用到QSplashScreen类。

效果

启动界面

描述

QSplashScreen小部件提供了一个可以在应用程序启动期间显示的启动画面。
启动画面通常是在应用程序启动时显示的小部件。启动画面通常用于启动时间较长的应用程序(例如需要花费一些时间来建立连接的数据库或网络应用程序),以向用户提供应用程序正在加载的反馈信息。

启动画面会出现在屏幕的中央。如果希望将启动画面保持在所有其他窗口之上,在启动画面的窗口标志中添加Qt::WindowStaysOnTopHint可能会很有用。

一些X11窗口管理器不支持"窗口保持在顶部"标志。解决方法是设置一个定时器,定期对启动画面调用raise()函数,以模拟"窗口保持在顶部"的效果。

最常见的用法是在显示主窗口之前显示启动画面。
下面的代码片段演示了此用法,其中显示了一个启动画面并在显示应用程序的主窗口前执行一些初始化任务:

 main(int argc, char *argv[])
{QApplication app(argc, argv);QPixmap pixmap(":/splash.png");QSplashScreen splash(pixmap);splash.show();app.processEvents();...QMainWindow window;window.show();splash.finish(&window);return app.exec();
}

用户可以通过鼠标单击来隐藏启动画面。由于启动画面通常显示在事件循环开始运行之前,因此需要定期调用QApplication::processEvents()来接收鼠标点击事件。

有时候需要更新启动画面上的消息例如,在应用程序启动期间通知已经建立的连接或加载的模块:

QPixmap pixmap(":/splash.png");
QSplashScreen *splash = new QSScreen(pixmap);
splash->show();... // 加载一些项
splash->showMessage("已加载模块");qApp->processEvents();... // 建立连接
splash->showMessage("正在建立连接");qApp->processEvents();

QSplashScreen支持使用showMessage()函数进行这样的操作。如果希望进行自定义绘制,可以使用pixmap()函数获取启动画面使用的位图的指针。或者,可以子类化QSplashScreen并重新实现drawContents()函数。

常用函数

  1. 构造函数:

    • QSplashScreen(const QPixmap &pixmap = QPixmap(), Qt::WindowFlags f = Qt::WindowFlags()):使用给定的位图和窗口标志构造一个QSplashScreen对象。
  2. 显示和隐藏:

    • void show():显示启动画面。
    • void finish(QWidget *mainWindow):隐藏启动画面,并将其关联到指定的主窗口。在调用此函数之前,通常会在显示主窗口前执行一些初始化任务。
    • void clearMessage():清除启动画面上显示的消息。
  3. 位图相关:

    • void setPixmap(const QPixmap &pixmap):设置启动画面使用的位图。
    • const QPixmap *pixmap() const:返回启动画面使用的位图的指针。
  4. 消息显示:

    • void showMessage(const QString &message, int alignment = Qt::AlignBottom | Qt::AlignCenter, const QColor &color = Qt::black):在启动画面上显示消息。可以设置消息的对齐方式和颜色。
  5. 其他:

    • void raise():将启动画面置于顶层。
    • bool isFullScreen() const:判断启动画面是否为全屏模式。
    • void setEnabled(bool enabled):设置启动画面是否可用。
    • void setAutoFillBackground(bool enabled):设置是否自动填充启动画面的背景。

子类化示例

.h

#ifndef SCREEN_H
#define SCREEN_H#include <QWidget>
#include <QSplashScreen>namespace Ui {
class C_Screen;
}class C_Screen : public QSplashScreen
{Q_OBJECTpublic:explicit C_Screen(QWidget *parent = nullptr);~C_Screen();private:Ui::C_Screen *ui;
};#endif // SCREEN_H

.cpp

#include "Screen.h"
#include "ui_Screen.h"#include <QPixmap>
#include <QFont>C_Screen::C_Screen(QWidget *parent) :QSplashScreen(parent),ui(new Ui::C_Screen)
{ui->setupUi(this);QString strScreen = ":/images/screen1.png";QFont font = this->font();font.setPixelSize(23);setFont(font);QPixmap loadingPix(strScreen);setPixmap(loadingPix);}C_Screen::~C_Screen()
{delete ui;
}

在.main调用

    C_Screen screen;screen.show();screen.showMessage("程序正在加载......", Qt::AlignTop|Qt::AlignRight, Qt::red);QDateTime time = QDateTime::currentDateTime();QDateTime currentTime = QDateTime::currentDateTime();   //记录当前时间// 可以添加处理业务while (time.msecsTo(currentTime) <= 1000)                   //1000为需要延时的毫秒数{currentTime = QDateTime::currentDateTime();}for(int i = 0; i < 3; ++i){screen.showMessage(QString("请稍等%1......").arg(3-i), Qt::AlignTop|Qt::AlignRight, Qt::red);time = currentTime;while (time.msecsTo(currentTime) <= 1000)                   //1000为需要延时的毫秒数{currentTime = QDateTime::currentDateTime();}}
http://www.hkea.cn/news/542935/

相关文章:

  • 完成公司网站建设下载关键词推广软件
  • wordpress如何关闭网站下载app
  • WordPress小程序二次修改石家庄seo排名外包
  • 做百度关键词网站厦门seo外包
  • 泉州seo-泉州网站建设公司谷歌关键词搜索工具
  • 组织部网站建设方案行业关键词分类
  • 上海黄浦 网站制作中国搜索引擎排名2021
  • 手机网站建设 cms营销技巧和营销方法
  • 平顶山做网站优化微博搜索引擎优化
  • 网站如何做品牌宣传海报每日舆情信息报送
  • 做论坛网站需要多大空间seo推广招聘
  • 中国建设银行网站软件不限次数观看视频的app
  • 网站开发建设的步骤win11优化大师
  • 在线做数据图的网站樱桃bt磁力天堂
  • 网站建设费的税率东莞公司网上推广
  • 上海设计公司排名前十宁波seo搜索优化费用
  • 如皋做网站公司com域名
  • 织梦做企业网站教程网络营销推广方案论文
  • 微信如何添加小程序二十条优化措施全文
  • 网站制作费可以做业务宣传费河北百度推广电话
  • wordpress日主题破解网站排名优化软件有哪些
  • 做公众号app 网站 app济南网站设计
  • 单位网站 单位网页 区别吗福州seo顾问
  • 专业做网站制作的公司百度地图网页版进入
  • 买卖网站域名骗局百度推广登陆
  • 石家庄大型网站设计公司手机怎么建网站
  • 政府网站图解怎么做百度关键词排名靠前
  • 天津做网站印标东莞网络推广排名
  • 设计一个外贸网站需要多少钱沈阳网站推广优化
  • 洗化行业做网站福州百度seo排名