QT入门学习笔记

mac2022-08-12  27

一、Qt简介

C++类库、图形

造轮子 ——> 用轮子(我们是使用者)

Qt可以做什么?

图形界面开发库

Qt最大的优势?

可以跨平台操作

Java可以跨平台是因为在不同平台上有Java虚拟机,慢。

Qt在编译的阶段进行跨平台,比较简单。

Qt的发展历史?

1991 芬兰,奇趣  Qt1~Qt3版本

2008  诺基亚收购  Qt4版本

2014  diyit公司收购  Qt5版本(Qt4和Qt5不兼容)

 

二、Qt下载

安装组件(一个环境,一个工具)

需要Qt环境(类库)编写器(Qt Creator)编译器(Qmake)调试器(Qt Creator)

 

三、初识Qt

所见即所得——QtDesigner

C++Qt ——> C++(可以跨平台,主流)

Qtquick ——> QML(专用)

Debug 调试

Release 发行

 

四、Qt creator中各个文件的作用

Qt Creator 编写Qt程序 工具

.pro  记录了基本信息

Makefile 程序的基本信息,不同平台的Makefile是不同的

编写步骤

// qmake -project -> .pro // qmake -> makefile // make -> 可执行程序

MVC -> 设计模式   M (model 模型)V (view 视图) C(controller 控制器)

界面、功能、数据相分离(开发、维护效率更高)mainwindow.cpp

mainwindow.h   (controller控制器)

mainwindow.ui  (view视图)

(数据模型自己设置)

 

五、Designer的界面布局

QObject绝大多数类的父类

 

六、Qt设计师的使用

设计界面分为了8个类

Buttons按钮的功能

所有的可见控件 ————> 类的对象

可见类 ———> QWidget (存放的是一些外观的属性) 

 

七、基本的页面布局(一)

整体性:第一步:选择布局(Layouts) 第二步:拖动,使其成为整体。

整体中使其分离:第一步:选择Spacers,第二步:选择弹簧。

 

基本的页面布局(二)

优化窗口:固定垂直和水平大小

Perferred:最佳,允许被缩放,但是是最佳的显示效果

Fixed:固定值

Expanded:扩展 

布局成比例:更加美观 

三个Label的比例都设成2:8,就可以实现对齐。 

 

 八、信号与槽的实现(一)

 

一、在哪写按钮相对应的“行为”?——.cpp

二、怎么写?

1. 哪个元素?

2. 哪种操作?(信号)

3. 哪个函数执行?

4. 哪个对象? 

即:

哪个元素发出了什么信号?

哪个对象执行哪个函数(槽函数)?

#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // connect(谁,发出了什么信号,谁,执行了什么操作); connect(this->ui->btnlogin,SIGNAL(clicked(bool)),this,SLOT(login())); } MainWindow::~MainWindow() { delete ui; } void MainWindow::login() { qDebug()<<"login"; }

写Qt前提:

1、有什么控件,这些控件可以发出什么信号?

2、信号与槽机制

3、槽函数(一个控件绑定一个槽函数)

 

信号与槽的实现(二)

鼠标右击直接转到槽! 

优点:代码量少,开发快!

缺点:不易读!

最新回复(0)