Qt5開發及實例學習之標準字體對話框類QFontDialog:選擇字體設置文本編輯器

一、新建"QT GUI",基類選擇"QDialog',取消「建立界面」函數

二、dialog.h中佈局

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QLineEdit>
#include <QPushButton>
#include <QGridLayout>

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    QPushButton *fontBtn;
    QLineEdit *fontLineEdit;
    QGridLayout *mainLayout;

private slots:
    void showFont();
};

#endif // DIALOG_H

二、dialog.cpp中字體

#include "dialog.h"
#include <QFontDialog>
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{

    //控件初始化
    fontBtn = new QPushButton;
    fontBtn->setText(tr("字體標準對話框"));
    fontLineEdit = new QLineEdit;
    fontLineEdit->setText(tr("welcome!"));

    //添加布局管理
    mainLayout = new QGridLayout(this);   //注意必定要有一個this
    mainLayout->addWidget(fontBtn, 2, 0);
   mainLayout->addWidget(fontLineEdit, 2, 1);

    //信號與槽
    connect(fontBtn, SIGNAL(clicked()), this, SLOT(showFont()));
}

Dialog::~Dialog()
{

}

void Dialog::showFont()
{
    bool ok;
    QFont f = QFontDialog::getFont(&ok);
    if(ok){
        fontLineEdit->setFont(f);
    }
}

三、效果this

字體對話框選擇

code

QFont getFont
(
    bool *ok;   //若是"ok",返回用戶選擇的字體,不然,返回函數默認字體
    QWidget *parent = 0;
);blog

相關文章
相關標籤/搜索