日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

QT中對話框的使用示例詳解_C 語言

作者:音視頻開發老舅 ? 更新時間: 2022-12-15 編程語言

標準文件對話框

其函數形式如下::

QString QFileDialog::getOpenFileName
(
QWidget * parent=0,
const QString &caption=QString(),
const QString &dir=QString(),
const QString &filter=QString(),
QString *selectFiler=0,//用戶選擇的過濾器通過此參數返回
Option option=0//選擇顯示文件名的格式,默認是同時顯示目錄和文件名
)
void Widget::btn_click()
{
    /*getOpenFileName()打開的窗口是模式窗口*/
    /*不含參數*/
    //QString s=QFileDialog::getOpenFileName();
    /*含參數
     * 第一個參數是其父窗口的指針
     * 第二個參數是打開窗口的名字
     * 第三個參數dir,是對話框顯示時默認打開的目錄,
     *  "." 代表程序運行目錄,"/" 代表當前盤符的根目錄(Windows,Linux下/就是根目錄了),
     *  也可以是平臺相關的,比如"C:\\"等;
     *  例如我想打開程序運行目錄下的Data文件夾作為默認打開路徑,
     *  這里應該寫成"./Data/",若想有一個默認選中的文件,
     *  則在目錄后添加文件名即可:"./Data/teaser.graph"
     * 第四個參數filter,是對話框的后綴名過濾器,
     *  比如我們使用"Image Files(*.jpg *.png)"就讓它只能顯示后綴名是jpg或者png的文件。
     *  如果需要使用多個過濾器,使用";;"(這里是分號)分割,
     *  比如"JPEG Files(*.jpg);;PNG Files(*.png)";
     * 第五個參數selectedFilter,是默認選擇的過濾器;
     * 第六個參數options,是對話框的一些參數設定,
     *  比如只顯示文件夾等等,它的取值是enum QFileDialog::Option,每個選項可以使用 | 運算組合起來。
    */
    QString s=QFileDialog::getOpenFileName(this,"打開窗口的名稱","/","C++ file(*.cpp);;C file(*.c);;Head file(*.h)");
    /*用戶點擊了確定*/
    if(!s.isEmpty())
    {
        this->setWindowTitle(s);
    }
}

標準顏色對話框

其函數形式如下

getColor()函數是標準顏色對話框QColorDialog類的一個靜態函數,該函數返回用戶選擇的顏色值,下面是getColor()函數形式:

QColor getColor
(
    const QColor &initial=QT::whiye,
    QWidget *parent=0
)
void Widget::btn_click()
{
    /*頭文件需要包含QColor和QColorDialog*/
    /*
     * 第一個參數設置默認顏色,可選
     * 第二個參數父窗口指針,可選
     */
    QColor c=QColorDialog::getColor(Qt::blue,this);
}

標準字體對話框

其函數形式如下

getFont()函數是標準字體對話框QFontDialog類的一個靜態函數,該函數返回用戶所選擇的字體,下面是getFont()函數形式

QFont getFont
(
bool *ok,
QWidget *parent=0
)
void Widget::btn_click()
{
bool ok;
/*
* getFont()第一個參數必選*/
QFontDialog::getFont(&ok);
/*用戶點擊確定,返回true,用戶點擊取消,返回false*/
if(ok)
{
setWindowTitle("用戶點擊確定");
}else
{
setWindowTitle("用戶點擊取消");
}
}

QMessageBox類

question()函數

StandardButton QMessageBox::question
(
QWidget *parent,//消息框父窗口指針
const QString & title,//消息框標題欄
const QString & text,消息框文字提示信息
StandardButtons buttons=Ok,
StandardButton defaultButton=No
)
void Widget::btn_click()
{
    /*
     * 第三個參數是設置對話框里有幾個按鈕,
     * 第四個參數是設置對話框默認選中的按鈕是哪個*/
    if(QMessageBox::question(this,"消息標題","消息內容實體",QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok)==QMessageBox::Ok)
    {
        /*用戶點擊了確定*/
        setWindowTitle("OK");
    }else
    {
        setWindowTitle("NO");
    }
}

information()函數

information()函數,主要是提示功能,不需要用戶選擇

StandardButton QMessageBox::information
(
QWidget *parent,//消息框父窗口指針
const QString & title,//消息框標題欄
const QString & text,消息框文字提示信息
StandardButtons buttons=Ok,
StandardButton defaultButton=No
)
void Widget::btn_click()
{
    /*一般不適用后兩個參數*/
    QMessageBox::information(this,"提示信息","提示內容");
}

warning()函數

warning消息框使用QMessageBox::warning()函數完成,函數形式如下

StandardButton QMessageBox::warning
(
QWidget *parent,//消息框父窗口指針
const QString & title,//消息框標題欄
const QString & text,消息框文字提示信息
StandardButtons buttons=Ok,
StandardButton defaultButton=No
)
void Widget::btn_click()
{
    /*和information()函數類似,只是頁面上多了一個警告標志*/
    if(QMessageBox::warning(this,"警告","你修改的內容還未保存,是否要保存隊該文件的修改!",QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,QMessageBox::Save)==QMessageBox::Save)
    {
        setWindowTitle("save");
    }
}

critical()函數

critical()函數--嚴重錯誤:

critical消息框使用QMessageBox::critical()函數完成,函數形式如下

StandardButton QMessageBox::critical
(
    QWidget *parent,//消息框父窗口指針
    const QString & title,//消息框標題欄
    const QString & text,消息框文字提示信息
    StandardButtons buttons=Ok,
    StandardButton defaultButton=No
)
void Widget::btn_click()
{
    QMessageBox::critical(this,"嚴重錯誤","該文件不可以刪除!");
}

about()函數

about消息框使用QMessageBox::about()函數完成,函數形式如下

void QMessageBox::about
(
    QWidget *parent,//消息框父窗口指針
    const QString & title,//消息框標題欄
    const QString & text,消息框文字提示信息
)
void Widget::btn_click()
{
    QMessageBox::about(this,"關于","這是本公司版權軟件,盜版必究!");
}

原文鏈接:https://blog.csdn.net/m0_60259116/article/details/127910974

欄目分類
最近更新