Qt 4开发实践
上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对话框右边的标签中。