上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.3 标准字体对话框:QFontDialog类
5.3.1 函数说明
标准字体对话框QFontDialog类的一个静态函数getFont()函数,返回用户选择的字体,下面是getFont()函数形式:
QFont getFont ( bool* ok, //注 QWidget* parent=0 //标准字体对话框的父窗口 );
注:用户选择OK,该参数*ok将设为true,函数返回用户选择的字体,否则为false,此时函数返回默认字体。
5.3.2 创建步骤
下面是创建标准字体对话框的详细步骤:
(1) 在dialog.h中,添加private成员变量如下:
QPushButton *fontBtn; QLineEdit *fontLineEdit;
(2) 添加private slots槽函数:
void showFont();
(3) 在dialog.cpp中,构造函数中的代码:
fontBtn=new QPushButton; //创建控件的对象 fontBtn->setText(tr("字体标准对话框实例")); fontLineEdit=new QLineEdit; //显示更改的字符串 fontLineEdit->setText(tr("Welcome!"));
以及添加布局管理:
mainLayout->addWidget(fontBtn,2,0); //布局设计 mainLayout->addWidget(fontLineEdit,2,1);
最后添加事件关联:
connect(fontBtn,SIGNAL(clicked()),this,SLOT(showFont())); //事件关联
其中,槽函数showFont()的实现代码如下:
void Dialog::showFont() { bool ok; QFont f = QFontDialog::getFont(&ok); if (ok) { fontLineEdit->setFont(f); } }
(4) 在文件开始添加头文件:
#include <QFontDialog>
(5) 运行该程序后,单击“字体标准对话框实例”按钮后显示如图5.4所示界面。选择某一字体,单击“OK”按钮,字符串将更新选择的字体格式显示在Dialog对话框右边的标签中。