Qt之QFontDialog

Posted sunshine-gzw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt之QFontDialog相关的知识,希望对你有一定的参考价值。

widget.h:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

class Widget : public QWidget
{
    Q_OBJECT
public slots:
void showFontDialog();
public:
    Widget(QWidget *parent = 0);
    ~Widget();
};

#endif // WIDGET_H

widget.cpp:

#include "widget.h"
#include<QFont>
#include<QDebug>
#include<QPushButton>
#include<QVBoxLayout>
#include<QFontDialog>
#include<QFontDatabase>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    this->resize(600,480);
QFont qf=this->font();
qf.setFamily("仿宋");
qf.setPointSize(30);
 this->setFont(qf);

 //QFontDatabase db; //系统字体数据库
//qDebug()<<db.families()<<endl;
QPushButton *qp_one=new QPushButton("用户名");
QPushButton *qp_two=new QPushButton("密码");
QVBoxLayout *qv=new QVBoxLayout(this);
qv->addWidget(qp_one);
qv->addWidget(qp_two);
this->setLayout(qv);
connect(qp_one,SIGNAL(clicked()),this,SLOT(showFontDialog()));
connect(qp_two,SIGNAL(clicked()),this,SLOT(showFontDialog()));
}
void Widget::showFontDialog()
{
    bool ok;
   // QFont qf=QFontDialog::getFont(&ok,this);
     QFont qf=QFontDialog::getFont(&ok,this->font(),this,"ff");
    if(ok)
    {
        this->setFont(qf);
    }

}
Widget::~Widget()
{

}

main.cpp:

#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

效果:

技术图片

 

以上是关于Qt之QFontDialog的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5 组件之QDialog

QT 实用代码片段

Qt标准对话框

26.Qt Quick QML-RotationAnimationPathAnimationSmoothedAnimationBehaviorPauseAnimationSequential(代码片段

10.标准对话框

Python Qt GUI设计:QMainWindowQWidget和QDialog窗口类(基础篇—10)