Qt知识点

1.  QT性能:比MFC弱,比C#、Java强

Qt 是一个跨平台的C++应用程序框架,支持Windows、Linux、Mac OS X、Android、iOS、WindowsPhone、嵌入式系统等。

 

本质上,Qt 是一个C++类库。在引入 QML 以前,所有的开发都是基于 C++ 的,但到了 Qt 5,QML 和 Qt Quick 成为了 Qt 的核心之一,导致很多读者在犹豫是否还需要学习 C++。

使用 QML 开发界面主要有以下几个优点:

QML 非常灵活,可以做出非常炫酷的效果,例如QQ、360、迅雷等都不在话下。

QML 是标记语言,见名知意,非常容易编写和阅读,大大提高了开发和维护效率。

QML 界面简洁大气,有很多动画,适合移动端。

不同平台下的 QML 使用相同的渲染机制,界面效果一致,不会随操作系统的不同而变化。

 

在 Qt 中,我们将窗口和控件统称为部件(Widget)。窗口是指程序的整体界面,可以包含标题栏、菜单栏、工具栏、关闭按钮、最小化按钮、最大化按钮等;控件是指按钮、复选框、文本框、表格、进度条等这些组成程序的基本元素。一个程序可以有多个窗口,一个窗口也可以有多个控件。

 

2.  QMainWindow、QWidget、QDialog 三个类就是用来创建窗口的,可以直接使用也可以继承后再使用。

1.        QMainWindow 窗口可以包含菜单栏、工具栏、状态栏、标题栏等,是最常见的窗口形式,可以作为GUI程序的主窗口。

2.        QDialog 是对话框窗口的基类。对话框主要用来执行短期任务,或与用户进行互动,它可以是模态的也可以是非模态的,QDialog 没有菜单栏、工具栏、状态栏等。

3.        如果是主窗口,就使用 QMainWindow;如果是对话框,就是用 QDialog;如果不确定,或有可能作为顶级窗口,也有可能嵌入到其他窗口中,那么使用 QWidget。

 

 

创建界面方式:

1.        纯c++代码

a)        Qt Widgets Application(创建界面?(纯代码或带ui(xml + c++)))

b)        Qt Console Application

2.        QML

a)        Qt Quick Application

b)        Qt Quick Controls Application

c)        Qt Canvas 3D Application

 

Qt Widgets Application和Qt ConsoleApplication工程将会使用C++代码,Console 用来创建控制台程序,Widgets 用来创建GUI程序。

Qt Quick Application、Qt QuickControls Application和Qt Canvas 3D Application工程将会使用 QML 代码,QuickControl 主要比 Quick 多一些控件,Canvas 3D 用来创建3D动画。

 

3.  信号和槽(signals/slots)

QObject::connect(...)

 

声明槽函数:public slots: void dosth();

QPushButton clicked:

connect(m_btnSearch, &QPushButton::clicked, this, &CPersonMng::on_pushButton_clicked);

 

Moc

全称是"Meta-Object Compiler",也就是”元对象编译器“。

moc 就是一个源代码分析程序,它会读取C++源文件,如果发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个C++源文件。这个源文件中包含了 Q_OBJECT 宏的实现代码。这个新文件的名字将由源文件名加上moc_前缀构成,读者可以在 Debug 或 Release 目录中找到。

 

4.  资源Resource

添加

修改前缀

引用

QIco ico(“:/myimages/images/ok.png”)

 

5.  布局

布局管理器主要包括QBoxLayout基本布局管理器、QGridLayout栅格布局管理器和QFormLayout窗体布局管理器,而基本布局管理器又分为QHBoxLayout水平布局管理器和QVBoxLayout垂直布局管理器。

1.        QBoxLayout:

           a)        Vertical Layout(垂直布局管理器)

                      容器内元素垂直排列,元素宽相同与容器内宽一致

           b)        Horizen Layout(水平布局管理器)

                      容器内元素水平均匀排列 

2.        QGridLayout:

3.        QFormLayout:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值