最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

QT實現(xiàn)QMessageBox中文按鈕示例詳解

 更新時間:2024年11月03日 15:38:24   作者:木葉流丹  
這篇文章主要為大家詳細(xì)介紹了QT實現(xiàn)QMessageBox中文按鈕的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

這是我記錄Qt學(xué)習(xí)過程心得文章的第二篇,主要是為了方便QMessageBox彈出框的使用,通過自定義的方式,將其常用的功能,統(tǒng)一封裝成一個函數(shù),還是寫在了Skysonya類里面。

實現(xiàn)代碼

//中文提示對話框
bool Skysonya::messageBox(QString msgType, QString dlgTitle, QString strInfo)
{
    QMessageBox *msgBox;
    int result = -1;
    bool value = false;
    if (msgType.toLower() == "critical")
    {
        //創(chuàng)建一個Critical彈出對話框,添加按鈕:"Ok"
        msgBox = new QMessageBox(QMessageBox::Critical, dlgTitle, strInfo, QMessageBox::Ok);
        msgBox->button(QMessageBox::Ok)->setText("確定");  //將"Ok"按鈕改為顯示"確定"
        result = msgBox->exec();                           //顯示Critical彈出對話框
        if (result == QMessageBox::Ok)
        {
            value = true;
        }
    }
    else if (msgType.toLower() == "warning")
    {
        //創(chuàng)建一個Warning彈出對話框,添加按鈕:"Ok"
        msgBox = new QMessageBox(QMessageBox::Warning, dlgTitle, strInfo, QMessageBox::Ok);
        msgBox->button(QMessageBox::Ok)->setText("確定");  //將"Ok"按鈕改為顯示"確定"
        result = msgBox->exec();                           //顯示W(wǎng)arning彈出對話框
        if (result == QMessageBox::Ok)
        {
            value = true;
        }
    }
    else if (msgType.toLower() == "warningyes")
    {
        //創(chuàng)建一個Warning彈出對話框,添加按鈕:"Yes"、"No"
        msgBox = new QMessageBox(QMessageBox::Warning, dlgTitle, strInfo, QMessageBox::Yes | QMessageBox::No);
        msgBox->button(QMessageBox::Yes)->setText("是");  //將"Yes"按鈕改為顯示"是"
        msgBox->button(QMessageBox::No)->setText("否");   //將"No"按鈕改為顯示"否"
        result = msgBox->exec();                          //顯示W(wǎng)arning彈出對話框
        if (result == QMessageBox::Yes)
        {
            value = true;
        }
    }
    else if (msgType.toLower() == "information")
    {
        //創(chuàng)建一個Information彈出對話框,添加按鈕:"Ok"
        msgBox = new QMessageBox(QMessageBox::Information, dlgTitle, strInfo, QMessageBox::Ok);
        msgBox->button(QMessageBox::Ok)->setText("確定");  //將"Ok"按鈕改為顯示"確定"
        result = msgBox->exec();                           //顯示Information彈出對話框
        if (result == QMessageBox::Ok)
        {
            value = true;
        }
    }
    else if (msgType.toLower() == "informationyes")
    {
        //創(chuàng)建一個Information彈出對話框,添加按鈕:"Ok"
        msgBox = new QMessageBox(QMessageBox::Information, dlgTitle, strInfo, QMessageBox::Yes | QMessageBox::No);
        msgBox->button(QMessageBox::Yes)->setText("是");  //將"Yes"按鈕改為顯示"是"
        msgBox->button(QMessageBox::No)->setText("否");   //將"No"按鈕改為顯示"否"
        result = msgBox->exec();                          //顯示Information彈出對話框
        if (result == QMessageBox::Yes)
        {
            value = true;
        }
    }
    return value;
}

具體使用:

//文件
void MainWindow::slot_file_triggered()
{
 
    //輸入對話框
    QString strInfo = skysonya.inputDialog("對話框", "請輸入:");
    skysonya.messageBox("warning", "輸入對話框", strInfo);
}

自定義類:

#ifndef SKYSONYA_H
#define SKYSONYA_H
#include <QDebug>
#include <QFile>
#include <QInputDialog>
#include <QMessageBox>
#include <QObject>
#include <QPushButton>
#include <QString>
#include <QTextCodec>
 
enum EncodingFormat
{
    ANSI,
    UTF16LE,
    UTF16BE,
    UTF8,
    UTF8BOM,
};
 
class Skysonya : public QObject
{
    Q_OBJECT
    Q_ENUM(EncodingFormat)
public:
    explicit Skysonya(QObject *parent = nullptr);
    ~Skysonya();
    QString doAppAbout(QString appName);                                               //程序關(guān)于信息
    bool messageBox(QString msgType, QString dlgTitle, QString strInfo);               //中文提示對話框
    QString inputDialog(QString dlgTitle, QString labelText, QString textValue = "");  //中文按鈕文本輸入對話框
    QTextCodec *getFileCharacterEncoding(const QString &fileName);                     //獲取文件編碼格式函數(shù)
    QString openFileByIOWhole(const QString &fileName);                 //用QFile打開文件,整體讀取
    QString openFileByIOLines(const QString &fileName);                 //用QFile打開文件,逐行讀取
    QString openFileByStreamWhole(const QString &fileName);             //用QTextStream讀取文件,整體讀取
    QString openFileByStreamLines(const QString &fileName);             //用QTextStream讀取文件,逐行讀取
    bool saveFileByIOWhole(const QString &fileName, QString text);      //用QFile保存文件,整體保存
    bool saveFileByStreamWhole(const QString &fileName, QString text);  //用QTextStream保存文件,整體保存
 
private:
    QString appVersion;       //軟件版本號
    QString buildTime;        //程序構(gòu)建時間
    QString qtVersion;        // QT版本號
    QString fun_buildTime();  //獲取程序構(gòu)建時間
};
 
#endif  // SKYSONYA_H

到此這篇關(guān)于QT實現(xiàn)QMessageBox中文按鈕示例詳解的文章就介紹到這了,更多相關(guān)QT QMessageBox中文按鈕內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C/C++實現(xiàn)string和int相互轉(zhuǎn)換的常用方法總結(jié)

    C/C++實現(xiàn)string和int相互轉(zhuǎn)換的常用方法總結(jié)

    在C++編程中,經(jīng)常需要在字符串(string)和整型(int)之間進(jìn)行轉(zhuǎn)換,本文將詳細(xì)介紹幾種在C和C++中實現(xiàn)這兩種類型轉(zhuǎn)換的常用方法,有需要的可以參考下
    2024-01-01
  • C語言中的程序環(huán)境與預(yù)處理詳情

    C語言中的程序環(huán)境與預(yù)處理詳情

    這篇文章主要介紹了C語言中的程序環(huán)境與預(yù)處理詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Windows平臺下配置VS Code的C++環(huán)境教程

    Windows平臺下配置VS Code的C++環(huán)境教程

    這篇文章主要介紹了Windows平臺下配置VS Code的C++環(huán)境教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • C++STL之string類的使用

    C++STL之string類的使用

    這篇文章主要為大家詳細(xì)介紹了C++STL中的string類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • VS報錯C1189及MSB3721解決方法

    VS報錯C1189及MSB3721解決方法

    在使用VS進(jìn)行CUDA編譯時出現(xiàn)錯誤,本文主要介紹了VS報錯C1189及MSB3721解決方法,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Qt實現(xiàn)右擊菜單項

    Qt實現(xiàn)右擊菜單項

    這篇文章主要為大家詳細(xì)介紹了Qt實現(xiàn)右擊菜單項,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++中的類成員函數(shù)當(dāng)線程函數(shù)

    C++中的類成員函數(shù)當(dāng)線程函數(shù)

    這篇文章主要介紹了C++中的類成員函數(shù)當(dāng)線程函數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++之初始化列表詳解(initializer_list)

    C++之初始化列表詳解(initializer_list)

    C++11引入std::initializer_list,用于封裝列表初始化的語法糖,實現(xiàn)容器、函數(shù)等場景的統(tǒng)一初始化方式,其本質(zhì)是輕量級只讀視圖,不存儲元素,僅通過指針和長度管理序列,支持容器構(gòu)造、參數(shù)傳遞等操作,但需注意生命周期與只讀限制
    2025-09-09
  • C語言GetStdHandle函數(shù)使用方法

    C語言GetStdHandle函數(shù)使用方法

    這篇文章介紹了C語言GetStdHandle函數(shù)的使用方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • C++獲取硬件參數(shù)的示例詳解

    C++獲取硬件參數(shù)的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何使用C++獲取硬件參數(shù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11

最新評論

天津市| 南澳县| 盱眙县| 双城市| 沁水县| 阳朔县| 建昌县| 栾城县| 阿城市| 开阳县| 武平县| 白玉县| 格尔木市| 襄垣县| 乐平市| 沾化县| 健康| 罗田县| 玛曲县| 邳州市| 寿阳县| 吉首市| 鞍山市| 太谷县| 余江县| 永登县| 山丹县| 革吉县| 甘南县| 霍林郭勒市| 鹤壁市| 温州市| 内江市| 疏勒县| 磴口县| 南澳县| 西盟| 大埔县| 兰坪| 嘉峪关市| 宜兰县|