一,QT是什么
1.QT是C++的一个框架,一款图形界面应用程序框架(GUI)
1)包含500多个类,9000多个函数
2)在C++的基础上有更高级的类和接口
2.主要作用于界面开发
3.开发工具
1)QT Creator
2)VS
3)其他
4.QT的优势
短平快
1)跨平台(一次编码,随处编译)
2)接口简单,容易上手
3)开发效率高
4)良好的社区氛围
5)可以用于嵌入式开发
5.成功案例
1)Linux桌面环境
2)WPS office
3)谷歌地图
4)VLC多媒体播放器
6.快捷键
1)帮助文档F1
2).cpp和.h之间快速切换,F4
3)编译并运行Ctrl + R
4)函数声明和定义的切换 F2
5)代码的注释和取消Ctrl+/
6)字体变大或变小Ctrl+鼠标的滚轮
7)移动代码:选中所要移动的代码,按住Ctrl+Shift+键盘方向键
8)查找替换关键字 Ctrl+f
二创建QT项目
1.添加button控件
1.在.h文件添加头文件 QPushButton
2.在.h文件创建实例 QPushButton *b1
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QPushButton>//添加头文件
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
private:
QPushButton *b1;//创建实例
QPushButton *b2;
};
#endif // DIALOG_H
3.在.cpp文件进行实例化,并将按钮命名显示
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
b1 = new QPushButton(u8"确定",this);
b1->show();
}
2.自定义槽函数
1)在.h文件添加public slots: 定义对应的响应函数
2) 将定义的响应函数进行实现
3)用connect将信号与槽进行实现
public slots:
void changeButton();
void Widget::changeButton()
{
b2->setText(u8"我被改变了");
}
connect(b1,&QPushButton::clicked,this,&Widget::changeButton);
三.对话框
1)对话框类
#include
QDialog dlg;
dlg.exec();
2)提示对话框
#include <QMessageBox>
QMessageBox::critical(this,"error",u8"系统问题");
QMessageBox::information(this,"error",u8"系统问题");
QMessageBox::question(this,"error",u8"问题",QMessageBox::No|QMessageBox::Ok);
3)颜色对话框
#include <QColorDialog>
QColor color = QColorDialog::getColor();
qDebug() << color.red() << color.green() << color.red();
4)字体对话框
#include <QFontDialog>
#include <QFont>
bool ok;
QFont font = QFontDialog::getFont(&ok,QFont("Times",12),this,u8"我的字体设置");
qDebug() << font.family() << font.italic() << font.pixelSize() <<font.bold();
四.布局管理
五.常用控件
六.自定义控件
七.事件处理函数
八.事件分发器
九.事件过滤器
十.不规则窗体的实现