1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > QT每日一练day14:QFontDialog字体对话框

QT每日一练day14:QFontDialog字体对话框

时间:2019-06-30 19:16:11

相关推荐

QT每日一练day14:QFontDialog字体对话框

一.第一阶段

运行结果:

day14.pro

QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warnings# depend on your compiler). Please consult the documentation of the# deprecated API in order to know how to port your code away from it.DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.# In order to do so, uncomment the following line.# You can also select to disable deprecated APIs only up to a certain version of Qt.#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \widget.cppHEADERS += \widget.h# Default rules for deployment.qnx: target.path = /tmp/$${TARGET}/binelse: unix:!android: target.path = /opt/$${TARGET}/bin!isEmpty(target.path): INSTALLS += target

widget.h

#ifndef WIDGET_H#define WIDGET_H#include <QWidget>class Widget : public QWidget{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();};#endif // WIDGET_H

widget.cpp

#include "widget.h"#include<QFont>#include<QDebug>#include<QLabel>Widget::Widget(QWidget *parent): QWidget(parent){QFont font=this->font();font.setPointSize(200);this->setFont(font);qDebug()<<this->font()<<endl;QLabel* label=new QLabel("helloworld",this);}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();}

二.第二阶段

widget.cpp

#include "widget.h"#include<QFont>#include<QDebug>#include<QLabel>#include<QFontDatabase>Widget::Widget(QWidget *parent): QWidget(parent){QFont font=this->font();font.setPointSize(200);font.setFamily("Rockwell Condensed");this->setFont(font);QFontDatabase db;qDebug()<<db.families()<<endl;new QLabel("helloworld",this);}Widget::~Widget(){}

三.第三阶段

运行结果(GIF动图):

day14.pro

QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warnings# depend on your compiler). Please consult the documentation of the# deprecated API in order to know how to port your code away from it.DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.# In order to do so, uncomment the following line.# You can also select to disable deprecated APIs only up to a certain version of Qt.#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \widget.cppHEADERS += \widget.h# Default rules for deployment.qnx: target.path = /tmp/$${TARGET}/binelse: unix:!android: target.path = /opt/$${TARGET}/bin!isEmpty(target.path): INSTALLS += target

widget.h

#ifndef WIDGET_H#define WIDGET_H#include <QWidget>class Widget : public QWidget{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();public slots:void showFontDialog();};#endif // WIDGET_H

widget.cpp

#include "widget.h"#include<QFont>#include<QDebug>#include<QLabel>#include<QFontDialog>#include<QFontDatabase>#include<QPushButton>#include<QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent){QFont font=this->font();font.setPointSize(50);font.setFamily("Rockwell Condensed");this->setFont(font);QFontDatabase db;qDebug()<<db.families()<<endl;QLabel* label=new QLabel("helloworld",this);QVBoxLayout* vBox=new QVBoxLayout(this);QPushButton* pb=new QPushButton("showFontDialog");vBox->addWidget(label);vBox->addWidget(pb);connect(pb,SIGNAL(clicked()),this,SLOT(showFontDialog()));}void Widget::showFontDialog(){bool ok;QFont font=QFontDialog::getFont(&ok,this->font(),this,"Font");if(ok){qDebug()<<font<<endl;this->setFont(font);}}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();}

四.附:概念

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。