標(biāo)準(zhǔn)對(duì)話框
QT的標(biāo)準(zhǔn)對(duì)話框分為以下幾種
- 顏色對(duì)話框
- 文件對(duì)話框
- 字體對(duì)話框
- 輸入對(duì)話框
- 消息對(duì)話框
- 進(jìn)度對(duì)話框
- 錯(cuò)誤信息對(duì)話框
- 向?qū)?duì)話框
字體選擇框
字體選擇框位于 QFontDialog
類中 先添加#include <QFontDialog>
頭文件,然后在UI界面上新增一個(gè)按鈕
為這個(gè)按鈕的clicked
信號(hào)在MyDialog類中新增一個(gè)對(duì)應(yīng)的槽函數(shù)
void font_slots_func();
然后我們使用QFontDialog
類中 靜態(tài)函數(shù)getFont
如果用戶單擊OK,則返回所選字體泌绣。如果用戶單擊Cancel柜候,將返回Qt默認(rèn)字體 函數(shù)原型如下:
[static] QFont QFontDialog::getFont(bool *ok, QWidget *parent = Q_NULLPTR)
對(duì)話框是用給定的父元素構(gòu)造的肌括。如果ok參數(shù)不是null枫浙,那么當(dāng)用戶單擊ok時(shí)朦拖,它所引用的值被設(shè)置為true我磁,當(dāng)用戶單擊Cancel時(shí)孽文,它被設(shè)置為false。
所有font_slots_func槽函數(shù)我們可以這樣寫
void MyDialog::font_slots_func()
{
bool isOk;
QFont font = QFontDialog::getFont(&isOk,this);
if(isOk)
ui->FontDlg->setFont(font); //修改按鈕的字體
else
qDebug()<<"你沒有選擇任何字體"<<endl;
}
然后為字體選擇按鈕關(guān)聯(lián)這個(gè)槽函數(shù)
//字體選擇框信號(hào)槽連接
connect(ui->FontDlg,&QPushButton::clicked,this,&MyDialog::font_slots_func);
CTRL+b
編譯 CTRL+r
執(zhí)行運(yùn)行結(jié)果如圖:
執(zhí)行結(jié)果