日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Qt笔记-Linux程序控制台启动界面实例

發布時間:2025/3/15 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt笔记-Linux程序控制台启动界面实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在做Linux的C++程序,用的是Qt控制臺程序,突然間有了想法,為什么不做成向Redis啟動那樣的,B格也高點,就像這樣的。

?在此寫了個實例,如下運行截圖:

?程序結構如下;

源碼如下:

Banner.h

#ifndef BANNER_H #define BANNER_Hclass Banner { public:Banner();void printBar(); };#endif // BANNER_H

?ColorPrint.h

#ifndef COLORPRINT #define COLORPRINT#include <QMap> #include <QString>class ColorPrint{public:ColorPrint(){this->m_colorMap.insert("@red@", "\033[31m");this->m_colorMap.insert("@blue@", "\033[34m");this->m_colorMap.insert("@green@", "\033[32m");this->m_colorMap.insert("@over@", "\033[0m");}QString getColorString(const QString &str){QString ret(str);QList<QString> keyList = this->m_colorMap.keys();for(int i = 0; i < keyList.size(); i++){ret = ret.replace(keyList[i], this->m_colorMap.value(keyList[i]));}return ret;}private:QMap<QString, QString> m_colorMap; };#endif // COLORPRINT

Banner.cpp

#include "Banner.h" #include "ColorPrint.h" #include <QFile> #include <QDebug> #include <QTextStream>Banner::Banner() {}void Banner::printBar() {QFile file(":/res/bar.txt");if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){qDebug() << "open failed";return;}QString all = file.readAll();ColorPrint cp;QString cpStr = cp.getColorString(all);qDebug().noquote() << cpStr;file.close(); }

main.cpp

#include "Banner.h" #include "ColorPrint.h" #include <QFile> #include <QDebug> #include <QTextStream>Banner::Banner() {}void Banner::printBar() {QFile file(":/res/bar.txt");if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){qDebug() << "open failed";return;}QString all = file.readAll();ColorPrint cp;QString cpStr = cp.getColorString(all);qDebug().noquote() << cpStr;file.close(); }

res/bar.txt

@green@ ________ _________@over@ @green@|\ __ \|\___ ___\@over@ @blue@Version: 5.5.1@over@ @green@\ \ \|\ \|___ \ \_|@over@ @red@BannerDemo : it1995@over@ @green@ \ \ \\\ \ \ \ \@over@ @green@ \ \ \\\ \ \ \ \@over@ @green@ \ \_____ \ \ \__\@over@ @green@ \|___| \__\ \|__|@over@ @green@ \|__|@over@

注意:這里我是準備了一個bar文件,然后用里面@green@這些字符串替換了linux的\033[32m,原因是,如果放原始的,那么QFile讀取到QString后,這個\就會被轉義,使用noquote無法解決,如果直接在QString中輸入\033就不會出現這樣的問題。并且個人感覺自定義規則,然后替換,可讀性估計會更好。

如有更好的方法,希望大佬們留言指導下。

總結

以上是生活随笔為你收集整理的Qt笔记-Linux程序控制台启动界面实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。