国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt 實現(xiàn)軟件啟動界面動畫

這篇具有很好參考價值的文章主要介紹了Qt 實現(xiàn)軟件啟動界面動畫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

實現(xiàn)軟件啟動界面,用到QSplashScreen類。

效果

啟動界面

描述

QSplashScreen小部件提供了一個可以在應(yīng)用程序啟動期間顯示的啟動畫面。
啟動畫面通常是在應(yīng)用程序啟動時顯示的小部件。啟動畫面通常用于啟動時間較長的應(yīng)用程序(例如需要花費一些時間來建立連接的數(shù)據(jù)庫或網(wǎng)絡(luò)應(yīng)用程序),以向用戶提供應(yīng)用程序正在加載的反饋信息。

啟動畫面會出現(xiàn)在屏幕的中央。如果希望將啟動畫面保持在所有其他窗口之上,在啟動畫面的窗口標志中添加Qt::WindowStaysOnTopHint可能會很有用。

一些X11窗口管理器不支持"窗口保持在頂部"標志。解決方法是設(shè)置一個定時器,定期對啟動畫面調(diào)用raise()函數(shù),以模擬"窗口保持在頂部"的效果。

最常見的用法是在顯示主窗口之前顯示啟動畫面。
下面的代碼片段演示了此用法,其中顯示了一個啟動畫面并在顯示應(yīng)用程序的主窗口前執(zhí)行一些初始化任務(wù):

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

用戶可以通過鼠標單擊來隱藏啟動畫面。由于啟動畫面通常顯示在事件循環(huán)開始運行之前,因此需要定期調(diào)用QApplication::processEvents()來接收鼠標點擊事件。

有時候需要更新啟動畫面上的消息例如,在應(yīng)用程序啟動期間通知已經(jīng)建立的連接或加載的模塊:

QPixmap pixmap(":/splash.png");
QSplashScreen *splash = new QSScreen(pixmap);
splash->show();

... // 加載一些項
splash->showMessage("已加載模塊");

qApp->processEvents();

... // 建立連接
splash->showMessage("正在建立連接");

qApp->processEvents();

QSplashScreen支持使用showMessage()函數(shù)進行這樣的操作。如果希望進行自定義繪制,可以使用pixmap()函數(shù)獲取啟動畫面使用的位圖的指針?;蛘?,可以子類化QSplashScreen并重新實現(xiàn)drawContents()函數(shù)。

常用函數(shù)

  1. 構(gòu)造函數(shù):

    • QSplashScreen(const QPixmap &pixmap = QPixmap(), Qt::WindowFlags f = Qt::WindowFlags()):使用給定的位圖和窗口標志構(gòu)造一個QSplashScreen對象。
  2. 顯示和隱藏:

    • void show():顯示啟動畫面。
    • void finish(QWidget *mainWindow):隱藏啟動畫面,并將其關(guān)聯(lián)到指定的主窗口。在調(diào)用此函數(shù)之前,通常會在顯示主窗口前執(zhí)行一些初始化任務(wù)。
    • void clearMessage():清除啟動畫面上顯示的消息。
  3. 位圖相關(guān):

    • void setPixmap(const QPixmap &pixmap):設(shè)置啟動畫面使用的位圖。
    • const QPixmap *pixmap() const:返回啟動畫面使用的位圖的指針。
  4. 消息顯示:

    • void showMessage(const QString &message, int alignment = Qt::AlignBottom | Qt::AlignCenter, const QColor &color = Qt::black):在啟動畫面上顯示消息??梢栽O(shè)置消息的對齊方式和顏色。
  5. 其他:

    • void raise():將啟動畫面置于頂層。
    • bool isFullScreen() const:判斷啟動畫面是否為全屏模式。
    • void setEnabled(bool enabled):設(shè)置啟動畫面是否可用。
    • void setAutoFillBackground(bool enabled):設(shè)置是否自動填充啟動畫面的背景。

子類化示例

.h

#ifndef SCREEN_H
#define SCREEN_H

#include <QWidget>
#include <QSplashScreen>

namespace Ui {
class C_Screen;
}

class C_Screen : public QSplashScreen
{
    Q_OBJECT

public:
    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調(diào)用文章來源地址http://www.zghlxwxcb.cn/news/detail-729554.html

    C_Screen screen;
    screen.show();
    screen.showMessage("程序正在加載......", Qt::AlignTop|Qt::AlignRight, Qt::red);
    QDateTime time = QDateTime::currentDateTime();
    QDateTime currentTime = QDateTime::currentDateTime();   //記錄當前時間
    // 可以添加處理業(yè)務(wù)
    while (time.msecsTo(currentTime) <= 1000)                   //1000為需要延時的毫秒數(shù)
    {
        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為需要延時的毫秒數(shù)
        {
            currentTime = QDateTime::currentDateTime();
        }
    }

到了這里,關(guān)于Qt 實現(xiàn)軟件啟動界面動畫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 軟件設(shè)計開發(fā)筆記4:QT操作SQLite數(shù)據(jù)庫

    軟件設(shè)計開發(fā)筆記4:QT操作SQLite數(shù)據(jù)庫

    ??有時候我們需要在軟件中記錄一些歷史數(shù)據(jù)以便于對數(shù)據(jù)的查詢。而我們希望軟件不能太復(fù)雜,體量也不要太大,這個時候就需要如SQLite這樣輕量級的數(shù)據(jù)庫。這篇中我們就來討論如何在使用QT開發(fā)應(yīng)用是操作SQLite數(shù)據(jù)庫。 ??SQLite是一款開源、輕量級、跨平臺的數(shù)據(jù)庫

    2024年02月09日
    瀏覽(24)
  • QT-登錄界面的實現(xiàn)

    QT-登錄界面的實現(xiàn)

    ? 創(chuàng)建一個窗體,設(shè)計用戶登錄的界面(含有用戶名、密碼),并實現(xiàn)用戶登錄的功能,要求用戶提交的登錄按鈕時能獲取界面中的用戶名、密碼數(shù)據(jù)并與數(shù)據(jù)庫中的數(shù)據(jù)進行匹配,若用戶名,密碼正確則登錄成功,否則登錄失敗。 1、圖片演示 2、詳細代碼實現(xiàn) (1) dialog.c

    2024年02月16日
    瀏覽(18)
  • qt 實現(xiàn)登錄界面

    qt 實現(xiàn)登錄界面

    ? ?

    2024年01月23日
    瀏覽(21)
  • QT實現(xiàn)兩界面跳轉(zhuǎn)

    mainform.h widget.h main.cpp mainform.cpp widget.cpp

    2024年02月04日
    瀏覽(17)
  • Qt實現(xiàn)引導界面UITour

    Qt實現(xiàn)引導界面UITour

    最近做了一款鍵鼠自動化,想第一次安裝打開后搞一個引導界面,找了好多資料沒啥參考,偶然發(fā)現(xiàn)qt有引導界面如下圖。 Qt整挺好,但是未找到源碼,真的不想手擼,(源碼找到了但是Qt整起來太復(fù)雜,沒法拿來直接用,還是得擼)地地址 下圖是仿照qt實現(xiàn),除了qt明亮邊緣的漸

    2024年02月14日
    瀏覽(10)
  • python中的yolov5結(jié)合PyQt5,使用QT designer設(shè)計界面沒正確啟動的解決方法

    python中的yolov5結(jié)合PyQt5,使用QT designer設(shè)計界面沒正確啟動的解決方法

    一、窗體設(shè)計test: 默認你已經(jīng)設(shè)計好了窗體后: 這時你需要的是保存生成的untitle.ui到某個文件夾下,然后在命令行中獎.ui轉(zhuǎn)換為.py(,通過??pyqt5???提供的轉(zhuǎn)換工具,將??ui???文件轉(zhuǎn)換成??python??的代碼) 或者使用在PyCharm中安裝的工具: 然后你會看到mai

    2024年02月07日
    瀏覽(32)
  • 數(shù)據(jù)庫課程設(shè)計-圖書館管理系統(tǒng)(3. 用戶軟件,基于QT)

    數(shù)據(jù)庫課程設(shè)計-圖書館管理系統(tǒng)(3. 用戶軟件,基于QT)

    如果對你有幫助,可以給卑微的博主留個贊、關(guān)注、收藏? ?(不是)? (騙一下數(shù)據(jù),說不定以后面試就過了,拜謝) 用戶軟件的實現(xiàn)根據(jù)自己所用語言選擇對應(yīng)開發(fā)工具,c++ 較常用的是QT或者MFC。這里使用QT做個示例,但博主前端屬實現(xiàn)學現(xiàn)賣,也就是能用級別,可以參考一下

    2024年02月09日
    瀏覽(25)
  • QT桌面(實現(xiàn)界面的滑動切換)

    在ARM Linux中使用QT如何實現(xiàn)滑動翻頁切換界面的效果呢?在ARM中是沒有自帶的鼠標的,那么我們?nèi)绾螌崿F(xiàn)滑動翻頁呢?經(jīng)過測試發(fā)現(xiàn)在ARM中運行QT程序也是可以通過重寫鼠標事件來捕獲觸屏動作的,在ARM中滑動屏幕被定義成了鼠標左鍵事件,那么這樣就有思路了, 重寫鼠標事

    2024年02月06日
    瀏覽(28)
  • Qt純代碼實現(xiàn)UI界面

    Qt純代碼實現(xiàn)UI界面

    設(shè)置編輯框內(nèi)容的字體樣式,包括加粗、下劃線、斜體、藍色、紅色、黑色

    2024年01月19日
    瀏覽(29)
  • Pycharm+qt-tools搭建界面實現(xiàn)界面交互

    Pycharm+qt-tools搭建界面實現(xiàn)界面交互

    pycharm跑demo時一般通過 cv2 或者 plt 進行可視化,但也常常面臨界面交互需求 剛好pycharm支持 qt 插件進行界面開發(fā)功能 下面講述 qt-tools 的安裝與使用 安裝 在pycharm中打開 命令行窗口 進入環(huán)境進行安裝: 環(huán)境配置 Pycharm - file - settings - Tools - Exteenal Tools 需要綁定已安裝的qt中.

    2023年04月08日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包