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

QT—5種標準對話框使用詳解

這篇具有很好參考價值的文章主要介紹了QT—5種標準對話框使用詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

對話框是 GUI 程序中不可或缺的組成部分。一些不適合在主窗口實現(xiàn)的功能組件都必須放在對話框中設(shè)置。對話框通常會是一個頂層窗口,出現(xiàn)在程序最上層,用于實現(xiàn)短期任務(wù)或者簡潔的用戶交互。所謂標準對話框,是 Qt 內(nèi)置的一系列對話框,用于簡化開發(fā)。事實上,有很多對話框都是通用的,比如打開文件、設(shè)置顏色、打印設(shè)置等。這些對話框在所有程序中幾乎相同。

Qt常用的內(nèi)置對話框有QFileDialog、QColorDialog、QFontDialog、QInputDialog和QMessageBox。下面對這些對話框做一些簡單示例。

對話框類

說明

靜態(tài)函數(shù)

函數(shù)說明

QFileDialog

文件對話框

getOpenFileName()

選擇打開一個文件

getOpenFileNames()

?選擇打開多個文件

getSaveFileName()

選擇保存一個文件

getExistingDirectory()

選擇一個己有的目錄

getOpenFileUrl()

選擇打幵一個文件,可選擇遠程網(wǎng)絡(luò)文件

QColorDialog

顏色對話框

getColor()

選擇顏色

QFontDialog

字體對話框

QFont getFont()

選擇字體

QInputDialog

輸入對話框

getText()

輸入單行文字 ?

getlnt()

輸入整數(shù)

getDouble()

輸入浮點數(shù)

getltem()

從一個下拉列表框中選擇輸入

getMultiLineText()

輸入多行字符串

QMessageBox

消息框

information()

信息提示對話框

question()

詢問并獲取是否確認的對話框

waming()

警告信息提示對話框

critical()

錯誤信息提示對話框

about()

設(shè)置自定義信息的關(guān)于對話框

aboutQt()

關(guān)于Qt的對話框

QFileDialog文件對話框?

文件對話框可以通過調(diào)用QFileDialog::getOpenFileName方法實現(xiàn),方法的第一個參數(shù)指定窗體的父窗體、第二個參數(shù)指定窗體的標題、第三個參數(shù)指定窗體的打開目錄、第四個參數(shù)用于限定打開的文件類型,有多個類型時中間用;;隔開。下面程序演示了當用戶點擊按鈕后會彈出文件對話框,之后將用戶選擇的文件路勁顯示在文本框中。

QT—5種標準對話框使用詳解

//文件對話框
void Dialog::ShowFileDlg()
{
    //打開文件對話框
    //函數(shù)返回打開的路徑
    QString sPath = QFileDialog::getOpenFileName(
                this,//指定父窗口
                "標準文件對話框",//打開文件對話框的標題
                ".",//打開目錄,"." 表示當前目錄
                "C++ files(*.cpp);;"
                 "C files(*.c);;"
                "Header files(*.h)"http://設(shè)置文件過濾器,有多個條件時中間以兩個;;隔開
                );
    m_fileEdit->setText(sPath);
}

m_fileEdit是一個QLineEdit部件名,用來顯示用戶打開文件的路徑。?

?QColorDialog顏色對話框

顏色對話框可以通過調(diào)用QColorDialog::getColor方法實現(xiàn),方法的第一個參數(shù)表示默認選擇的顏色。該方法會返回一個顏色類。

QT—5種標準對話框使用詳解

void Dialog::ShowColorDlg()
{
    QColor color = QColorDialog::getColor(
                Qt::yellow//默認選擇的顏色
                );
    //判斷顏色選擇是否合法
    if(color.isValid()){
        //設(shè)置邊寬顏色
        m_colorFrame->setPalette(QPalette(color));
    }
}

?m_colorFram是一個QFrame類型,用來展示用戶選擇的顏色

QFontDialog字體對話框

字體對話框可以通過調(diào)用QFontDialog::getFont方法實現(xiàn),該方法需要傳入一個bool類型的參數(shù)用來接收函數(shù)是否成功執(zhí)行,方法會返回一個字體字體類。

QT—5種標準對話框使用詳解

//字體對話框
void Dialog::ShowFontDlg()
{
    bool ok;//接收函數(shù)是否執(zhí)行成功
    QFont font = QFontDialog::getFont(
                    &ok//接收函數(shù)是否執(zhí)行成功
                );
    if(ok){
        //設(shè)置字體
        m_fontEdit->setFont(font);
    }
}

?m_fontEdit是一個QLineEdit類型,用來展示用戶選擇的字體效果

QInputDialog輸入對話框

QT—5種標準對話框使用詳解

設(shè)置姓名,可以調(diào)用的是QInputDialog::getText( )方法用來獲取輸入的單行文本。方法的第一個參數(shù)指定父窗體,第二個參數(shù)指定對話框的標題,第三個參數(shù)指定對話框顯示的內(nèi)容,第四個參數(shù)紙檔輸入框的模式,第五個參數(shù)指定默認值,第六個參數(shù)是一個bool類型用來接收函數(shù)是否執(zhí)行成功。

//文本輸入對話框
void InputDlg::editName(){
    bool ok;
    QString strName = QInputDialog::getText(
                this,//指定父窗體
                "標準文本輸入對話框",//指定對話框標題
                "請編輯姓名",//提示字符串
                QLineEdit::Normal,//輸入框顯示模式
                m_nameLabel->text(),//輸入框的默認文本
                &ok//接收函數(shù)調(diào)用是否成功
                //最后一個參數(shù)表示窗體風格,這里采用默認的
                );
    if(ok && !strName.isEmpty()){
        m_nameLabel->setText(strName);
    }

}

設(shè)置性別,可以調(diào)用的是QInputDialog::getItem( ) 方法用來獲取用戶從下拉列表選擇的值。QInputDialog第三個參數(shù)用來設(shè)置下拉列表框,要傳入一個QStringList類型的值。

//條目輸入對話框
void InputDlg::editSex(){
    QStringList sexList;
    bool ok;
    sexList<<"男"<<"女"<<"未知";
    //可選項是QString 類型,接收也是QString
    QString strSex = QInputDialog::getItem(
                this,
                "標準條目輸入對話框",//指定對話框標題
                "請選擇性別",    //指定顯示內(nèi)容
                sexList,//設(shè)置可選項,可選項是一個QStringList類型
                0,//設(shè)置默認選選項
                false,//是否可編輯
                &ok//接收函數(shù)是否調(diào)用成功
                );
    if(ok && !strSex.isEmpty()){
        m_sexLabel->setText(strSex);
    }
}

設(shè)置年齡,可以調(diào)用QInputDialog::getInt方法用來獲取用戶填入的整數(shù)值。getInt方法的第四個參數(shù)和第五個參數(shù)分別用來設(shè)置整數(shù)的最小值和最大值,第六個參數(shù)用來設(shè)置步長,即點擊增加按鈕時每次增加的值。

void InputDlg::editAge(){
    bool ok;
    int age = QInputDialog::getInt(
                this,
                "標注int數(shù)據(jù)類型輸入對話框",//對話框標題
                "請編輯年齡",//對話框顯示的內(nèi)容
                m_ageLabel->text().toInt(),//默認值
                0,//最小值
                120,//最大值
                1,//步長
                &ok//接收函數(shù)是否調(diào)用成功
                );
    if(ok){
        m_ageLabel->setText(QString("%1").arg(age));
    }
}

設(shè)置分數(shù),可以調(diào)用QInputDialog::getDouble方法用來獲取用戶填入的浮點數(shù)值。getDouble方法的第四個參數(shù)和第五個參數(shù)分別用來設(shè)置整數(shù)的最小值和最大值,第六個參數(shù)用來設(shè)置精度,即點數(shù)據(jù)的小數(shù)位。

void InputDlg::editScore(){
    bool ok;
    double score = QInputDialog::getDouble(
                this,//設(shè)置父窗體
                "標準double數(shù)據(jù)類型輸入對話框",//對話框標題
                "請編輯分數(shù)",//對話框顯示的內(nèi)容
                m_scoreLabel->text().toDouble(),//默認值
                0,//最小值
                100,//最大值
                1,//精度
                &ok//接收函數(shù)是否執(zhí)行成功
                );
    if(ok){
        m_scoreLabel->setText(QString::number(score));
    }
}

QMessageBox消息框

QT—5種標準對話框使用詳解

問題消息框,可以調(diào)用QMessageBox::question() 顯示問題消息框,問題消息框可設(shè)置要顯示的按鈕,方法會返回一個枚舉類型表示用戶所點擊的按鈕。這里設(shè)置的是“確定”和“取消”按鈕。

void MsgBoxDlg::showQuestionMsgDlg() {
    m_tipLabel->setText("問題消息框");
    int res = QMessageBox::question(
                this,//指定父窗體
                "問題消息框",//指定標題
                "已打開問題消息框,是否關(guān)閉?",//顯示的文本
                QMessageBox::Ok|QMessageBox::Cancel,//標注按鈕
                QMessageBox::Ok//默認選擇的按鈕
                );
    switch (res) {
    case QMessageBox::Ok:
        m_tipLabel->setText("問題消息框 - 確定");
        break;
    case QMessageBox::Cancel:
        m_tipLabel->setText("問題消息框 - 取消");
        break;
    default:
        break;
    }
}

信息消息框,可以調(diào)用QMessageBox::information( )方法實現(xiàn),信息消息框的作用是給用戶展示一段消息,無需用戶做出操作,函數(shù)參數(shù)也比較簡單。

void MsgBoxDlg::showInformationMsgDlg() {
    m_tipLabel->setText("信息消息框");
    QMessageBox::information(
                this,//父窗體
                "信息提示框",//標題
                "這是個信息提示框"http://文本內(nèi)容
                );
}

警告消息框,可以調(diào)用QMessageBox::waring方法,警告消息框同樣可以設(shè)置消息框的按鈕,方法會一個枚舉類型表示用戶的操作。這里設(shè)置的是“保存”、“忽視”和“取消”按鈕。

void MsgBoxDlg::showWarningMsgDlg() {
    m_tipLabel->setText("警告消息框");
    int res = QMessageBox::warning(
                this,//父窗體
                "警告消息框",//標題
                "有為保存的文件",//警告內(nèi)容
                QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,
                QMessageBox::Save//默認選擇的按鈕
                );
    switch (res) {
    case QMessageBox::Save:
        m_tipLabel->setText("警告提示框 - 保存");
        break;
    case QMessageBox::Discard:
        m_tipLabel->setText("警告提示框 - 忽視");
        break;
    case QMessageBox::Cancel:
        m_tipLabel->setText("警告提示框 - 取消");
        break;
    default:
        break;
    }
}

錯誤消息框,可以調(diào)用QMessageBox::critical方法,錯誤消息框也相當于一種消息提醒,會比信息消息框的效果顯目,調(diào)用方法和信息消息框類似。

void MsgBoxDlg::showCriticalMsgDlg() {
    m_tipLabel->setText("錯誤消息框");
    QMessageBox::critical(
                this,//父窗體
                "錯誤消息框",//標題
                "發(fā)生重大錯誤??!"http://顯示內(nèi)容
                );
}

關(guān)于消息框,調(diào)用QMessageBox::about方法,關(guān)于消息框也是一種消息提醒,調(diào)用方法與信息消息框類似。

void MsgBoxDlg::showAboutMsgDlg() {
    m_tipLabel->setText("關(guān)于消息框");
    QMessageBox::about(
                this,//父窗體
                "關(guān)于消息框",//標題
                "這是個關(guān)于休斯頓的信息"http://顯示內(nèi)容
                );
}

關(guān)于QT消息框,調(diào)用QMessageBox::aboutQt方法,關(guān)于QT消息框會彈出一個有關(guān)QT的信息。其他功能暫無。

void MsgBoxDlg::showAboutQtMsgDlg() {
    m_tipLabel->setText("關(guān)于QT消息框");
    QMessageBox::aboutQt(
                this,//父窗體
                "關(guān)于QT消息框"http://標題
                );
}

自定義消息框

自定義消息框設(shè)置了一個圖標和三個按鈕,其中兩個按鈕采用自定義形式,另一個按鈕采用標準形式,當用戶點擊按鈕后,從對話框中獲取用戶點擊的按鈕,然后顯示出對應(yīng)的文本。

QT—5種標準對話框使用詳解

//自定義消息框
void Dialog::ShowCustomDlg() {
    m_customLabel->setText("自定義消息框");
    QMessageBox customMsgBox;
    customMsgBox.setWindowTitle("自定義消息框");
    //返回一個按鈕對象
    //自定義按鈕
    QPushButton *yes = customMsgBox.addButton(
                "真的嗎?",//指定文本
                QMessageBox::ActionRole//指定角色
                );
    //自定義按鈕
    QPushButton *no = customMsgBox.addButton(
                "假的",//指定文本
                QMessageBox::ActionRole//指定角色
                );
    //標準按鈕
    QPushButton *cancel = customMsgBox.addButton(
                QMessageBox::Cancel);
    //設(shè)置圖標
    customMsgBox.setIconPixmap(QPixmap("msg.jpg"));
    customMsgBox.exec();
    if(customMsgBox.clickedButton()==yes){
        m_customLabel->setText("點了“真的嗎?”");
    }else if(customMsgBox.clickedButton()==no){
        m_customLabel->setText("點了“假的   ”");
    }else if(customMsgBox.clickedButton()==cancel){
        m_customLabel->setText("點了“取消”");
    }

}

?追風趕月莫停留,平蕪盡處是春山?。。?/strong>文章來源地址http://www.zghlxwxcb.cn/news/detail-418978.html

到了這里,關(guān)于QT—5種標準對話框使用詳解的文章就介紹完了。如果您還想了解更多內(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)文章

  • C++ Qt開發(fā):標準Dialog對話框組件

    C++ Qt開發(fā):標準Dialog對話框組件

    Qt 是一個跨平臺C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺窗體應(yīng)用程序,在Qt中我們可以通過拖拽的方式將不同組件放到指定的位置,實現(xiàn)圖形化開發(fā)極大的方便了開發(fā)效率,本章將重點介紹標準對話框 QInputDialog 、 QFileDialog 這兩種對話框組件的常用方法及靈活運用。

    2024年02月04日
    瀏覽(100)
  • 06-1_Qt 5.9 C++開發(fā)指南_對話框與多窗體設(shè)計_標準對話框

    06-1_Qt 5.9 C++開發(fā)指南_對話框與多窗體設(shè)計_標準對話框

    在一個完整的應(yīng)用程序設(shè)計中,不可避免地會涉及多個窗體、對話框的設(shè)計和調(diào)用,如何設(shè)計和調(diào)用這些對話框和窗體是搞清楚一個龐大的應(yīng)用程序設(shè)計的基礎(chǔ)。本章將介紹對話框和多窗體設(shè)計、調(diào)用方式、數(shù)據(jù)傳遞等問題,主要包括以下幾點。 Qt 提供的標準對話框的使用,

    2024年02月13日
    瀏覽(103)
  • Qt消息對話框的使用

    Qt消息對話框的使用

    本文介紹Qt消息對話框的使用。 QMessageBox類是Qt編程中常用到的一個類,主要用來進行一些簡單的消息提示,比如:問題對話框,信息對話框等,這些對話框都屬于QMessageBox類的靜態(tài)方法,使用起來比較簡單,方便。 函數(shù)原型: 其中, parent:指定父窗口 title:對話框標題 text

    2024年02月07日
    瀏覽(571)
  • 使用qt完善對話框功能

    使用qt完善對話框功能

    1、 完善登錄框 點擊登錄按鈕后,判斷賬號(admin)和密碼(123456)是否一致,如果匹配失敗,則彈出錯誤對話框,文本內(nèi)容“賬號密碼不匹配,是否重新登錄”,給定兩個按鈕ok和cancel,點擊ok后,會清除密碼框中的內(nèi)容,繼續(xù)進行登錄;如果點擊cancel按鈕,則關(guān)閉界面。

    2024年02月07日
    瀏覽(99)
  • Qt 文件對話框使用 Deepin風格

    Qt 文件對話框使用 Deepin風格

    當你在Deepin或UOS 上開發(fā) Qt 程序時,如果涉及到文件對話框功能,那么就會遇到調(diào)用原生窗口的問題。 如果你使用的是官方的Qt版本,那么在Deepin或者UOS系統(tǒng)上,彈出的文件對話框會是如下這樣: 而Deepin或UOS系統(tǒng)提供的默認對話框: 可以看到,Qt自身提供的對話框太丑,與系

    2024年02月13日
    瀏覽(95)
  • Qt對話框——QInputDialog輸入對話框

    Qt對話框——QInputDialog輸入對話框 在Qt開發(fā)中,我們有時需要通過一個對話框獲取用戶的輸入,而QInputDialog就是Qt框架提供的一種方便地彈出輸入對話框并獲取用戶輸入數(shù)據(jù)的方式。 QInputDialog使用非常簡單,我們可以通過訪問不同的接口來彈出輸入對話框獲取多種類型的返回

    2024年02月12日
    瀏覽(91)
  • 【Qt】對話框QDialog類,模態(tài)對話框和非模態(tài)對話框

    【Qt】對話框QDialog類,模態(tài)對話框和非模態(tài)對話框

    QDialog類是所有對話框窗口類的基類。對話框窗口是一個用來完成短小任務(wù)或和用戶進行簡單交互的 頂層窗口 。 按照運行對話框時是否還可以和該程序的其它窗口進行交互,將它分為兩類:模態(tài)(modal)對話框和非模態(tài)(modaless)對話框。 模態(tài)對話框 先看一個例子: 創(chuàng)建一

    2024年02月05日
    瀏覽(101)
  • Qt對話框

    顏色對話框: 字體對話框: 輸入對話框: 消息對話框:

    2024年02月06日
    瀏覽(96)
  • 【Qt】:對話框(一)

    【Qt】:對話框(一)

    對話框是GUI程序中不可或缺的組成部分。一些不適合在主窗口實現(xiàn)的功能組件可以設(shè)置在對話框中。對話框通常是一個頂層窗口,出現(xiàn)在程序最上層,用于實現(xiàn)短期任務(wù)或者簡潔的用戶交互。 Qt常用的內(nèi)置對話框有: QFiledialog (文件對話框). QColorDialog(顏色對話框)、 QFontDialog(字

    2024年04月14日
    瀏覽(103)
  • 【Qt】:對話框(二)

    【Qt】:對話框(二)

    Q提供了多種可復(fù)用的對話框類型,即Qt標準對話框。Qt標準對話框全部繼承于QDialog類。常用標準對話框如下: 消息對話框是應(yīng)用程序中最常用的界面元素。消息對話框主要用于為用戶提示重要信息,強制用戶進行選擇操作。 QMessageBox自己內(nèi)置了一些圖標和按鈕,我們可以直接

    2024年04月16日
    瀏覽(98)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包