• 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();
    }

    效果:

  • 相关阅读:
    快速幂
    快速幂
    快速排序的分治求解方法
    快速排序的分治求解方法
    合并排序的分治求解方法
    合并排序的分治求解方法
    重写ListView解决ListView内部ViewPaper滑动事件冲突问题
    HDU 4970(杭电多校#9 1011题)Killing Monsters(瞎搞)
    Java 反射机制[Field反射]
    【公告】博客数据异常已所有恢复
  • 原文地址:https://www.cnblogs.com/SunShine-gzw/p/13266294.html
Copyright © 2020-2023  润新知