Qt是一个跨平台的C++图形用户界面应用程序框架. 他为应用程序开发者提供建立艺术级图形界面所需的所有功能.他是完全面向对象的,很容易扩展,并且允许真正的组件编程.
1991年 Qt最早由奇趣科技开发;
1996年 进入商业领域,他是目前最流行的Linux桌面环境KDE的基础;
2008年 奇趣科技被洛基亚公司收购,Qt成为诺基亚旗下的编程语言;
2012年 Qt又被Didia公司收购;
2014年4月 跨平台的集成开发环境Qt Creator 3.1.0 发布,同年5月20日配发了Qt5.3正式版,至此Qt实现了对iOS,Android,WP等各平台的全面支持.
现在最新为Qt6.0.0
图形界面开发(兼容js).
跨平台,C++,到处编译,到处运行.
开源(诺基亚),社区支持.
博主使用的是:
qt-opensource-windows-x86-msvc2015-5.7.1
新建一个项目可以在左侧的"欢迎"界面,点击"New Project",或者在顶部的文件菜单中点击 “点击新建文件或项目”;
弹出New Project对话框,选择Qt Widgets Application;
填好项目名称和创建路径之后,然后点击"下一步"按钮;(注意:项目的名称不能是中文)
选择编译套件;
MSVC是visual studio的编译器,MinGW是Qt Creator的编译器.
系统会默认添加一个继承自CMainWindow的类,可以在此修改类的名字和基类.默认的基类有QMainWindow,QWidget,QDialog三个,我们可以选择QWidget(类似于空窗口),初次学习,这里我们可以先创建一个不带UI的界面,继续点击下一步;
Visual Studio IDE是什么?Vs怎么安装,如何使用
Qt5.14.2超详细安装教程,不会来打我~
[教程]VS2019配置QT5.142
#在使用Qt向导生成的应用程序.pro
QT += core gui //包含的模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于Qt4版本,才包含widget模块
TARGET = firstWindow //应用程序名,生成.exe程序文件
TEMPLATE = app //模板类型,应用程序模板
...
SOURCES += main.cpp\ //源文件
mainwindow.cpp
HEADERS += mainwindow.h //头文件
.pro就是工程文件(project),他是qmake自动生成的用于生产makefile的配置文件.
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include
class myMainWindow : public QMainWindow
{
Q_OBJECT
public:
myMainWindow(QWidget *parent = nullptr);
~myMainWindow();
private:
QPushButton* btn;
QPushButton b;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include
//解决中文乱码
#pragma execution_character_set("utf-8")
//QWidget是能够在屏幕上显示一切的父类
myMainWindow::myMainWindow(QWidget *parent)
: QMainWindow(parent)
{
//设置当前窗口 的 标题和大小
this->setWindowTitle("这个窗口是玩按钮的");
this->resize(400,400);
//----------------------------------------------------------------------------//
//什么时候创建的按钮对象? 程序运行的时候,创建按钮
btn=new QPushButton(this); //(1).创建对象的时候为他指定父对象
//btn->setParent(this); //(2).设置 w对象为 *bt对象的父对象
//QString类是Qt里面优化的string类,主要用来做对字符串的操作
btn->setText("^*^");
btn->resize(60,60);
btn->move(100,100);
//btn->show();
b.setText("确定");
b.setParent(this);
b.resize(50,30);
/*------------------------------------------------------------------------------*/
//信号与槽的机制
/*什么是信号与槽? 比如发短信
1>谁发; 信号的发送者
2>发送的什么内容; 发送的信号
3>谁收; 信号的接收者
4>收到干嘛. 处理的槽函数
信号 属于信号的发送者,槽函数 属于信号的接收者.
编程? 描述事物
事 算法 函数
物 数据结构 对象
*/
connect(btn, //发送者 &
&QPushButton::pressed, //&类名::信号名
this, //接收者 对象取地址
&myMainWindow::close); //&类名::槽函数
}
myMainWindow::~myMainWindow()
{
}
[教程]Qt 5.14.2创建第一个项目(简单使用)
Qt第一个项目代码分析(main.cpp,Widget.h,Widget.cpp)
1> Qt是一个跨平台的C++图形用户界面应用程序框架;
2> Qt 工程的路径和工程名不能是中文;
3>
4>如何解决运行后出现的中文乱码?
在头文件出加上:#pragma execution_character_set(“utf-8”)