Qt学习日记1

来源:互联网 发布:优化软件排行榜 编辑:程序博客网 时间:2024/05/21 01:50
1. Qt Creator开发Qt应用程序

Qt是一个跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。


2. Q_OBJECT宏

解析:Q_OBJECT宏的作用是启动Qt元对象系统的一些特性,比如支持信号和槽等,它必须放置到类定义的私有区。


3. #include <QApplication>

解析:Application类的定义,QApplication管理各种各样的图形化应用程序的广泛资源、基本设置、控件流和事件处理等。


4. 信号和槽机制

解析:

Qt中的信号和槽机制用于完成界面操作的响应,是完成任意两个Qt对象之间的通信机制。其中,信号会在某个特定情况或动作下被触发,槽是等同于接收并处理信号的函数。一个类若要支持信号的槽机制,必须从QObject或QObject的子类继承,并且Qt信号和槽机制不支持对模板的使用。信号和槽机制常用的连接方式,如下所示:

(1)一个信号可以与另一个信号连接

connect(Object1, SIGNAL(signal1), Object2, SIGNAL(signal1))表示Object1的信号1发射触发Object2的信号1发射。

(2)同一个信号可以与多个槽相连

connect(Object1, SIGNAL(signal2), Object2, SIGNAL(slot2))
connect(Object1, SIGNAL(signal2), Object3, SIGNAL(slot1))

(3)同一个槽可以响应多个信号

connect(Object1, SIGNAL(signal2), Object2, SIGNAL(slot2))
connect(Object3, SIGNAL(signal2), Object2, SIGNAL(slot2))

(4)一个信号连接一个槽

connect(Object1, SIGNAL(signal), Object2, SLOT(slot1))。其中,signal为对象Object1的信号,slot为对象Object2的槽。


5. Qt元对象系统

解析:Qt元对象系统提供了对象间的通信机制(信号和槽)、运行时类型信息和动态属性系统的支持,它使Qt能够更好地实现GUI图形用户界面编程,并且Qt的元对象系统不支持C++模板。Qt的元对象系统基于三个事实,如下所示:

(1)基类QObject:任何需要使用元对象系统功能的类必须继承自QObject。

(2)Q_OBJECT宏:Q_OBJECT宏必须出现在类的私有声明区,用于启动元对象的特性。

(3)元对象编译器(Meta-Object Compiler, moc):为QObject子类实现元对象特性提供必要的代码实现。


6. Qt控件-按钮组(Buttons

解析:

(1)Push Button:按钮。

(2)Tool Button:工具按钮。

(3)Radio Button:单选按钮。

(4)Check Box:复选框。

(5)Command Link Button:命令链接按钮。

(6)Button Box:按钮盒。


7. Qt控件-输入空间组(Input Widgets)

解析:

(1)Combo Box:组合框。

(2)Font Combo Box:字体组合框。

(3)Line Edit:行编辑。

(4)Text Edit:文本编辑。

(5)Plain Text Edit:纯文本编辑。

(6)Spin Box:数字显示框(自旋盒)。

(7)Double Spin Box:双自旋盒。

(8)Time Edit:时间编辑。

(9)Data Edit:日期编辑。

(10)Data/Time Edit:日期/时间编辑。

(11)Dial:拨号。

(12)Horizontal Scroll Bar:横向滚动条。

(13)Vertical Scroll Bar:垂直滚动条。

(14)Horizontal Slider:横向滑块。

(15)Vertical Slider:垂直滑块。


8. Qt控件-显示控件组(Display Widgets)

解析:

(1)Label:标签。

(2)Text Browser:文本浏览器。

(3)Graphics View:图形视图。

(4)Calendar:日历。

(5)LCD Number:液晶数字。

(6)Progress Bar:进度条。

(7)Horizontal Line:水平线。

(8)Vertical Line:垂直线。

(9)QDeclarativeView:向QML暴露数据视图。

(10)QWebView:Web视图。 


9. Qt控件-空间间隔组(Spacers)

解析:

(1)Horizontal Spacer:水平间隔。

(2)Vertical Spacer:垂直间隔。


10. Qt控件-布局管理组(Layouts)

解析:

(1)Vertical Layout:垂直布局。

(2)Horizontal Layout:横向(水平)布局。

(3)Grid Layout:网格布局。

(4)Form Layout:表格布局。


11. Qt控件-容器组(Conta iners)

解析:

(1)Group Box:组框。
(2)Scroll Area:滚动区域。

(3)Tool Box:工具箱。

(4)Tab Widget:标签小部件。

(5)Stacked Widget:堆叠部件。

(6)Frame:帧。

(7)Widget:小部件。

(8)MdiArea:MDI区域。

(9)Dock Widget:停靠窗体部件。

(10)QAxWidget:封装Flash的ActiveX控件。


12. Qt控件-项目视图组(Item Views

解析:

(1)List View:清单视图。

(2)Tree View:树视图。

(3)Table View:表视图。

(4)Column View:列视图。


13. Qt控件-项目控件组(Item Widgets

解析:

(1)List Widget:清单控件。

(2)Tree Widget:树形控件。

(3)Table Widget:表控件。

说明:Qt常用类包括QString类,容器类(QList类、QLinkedList类、QVector类、QMap类、QHash类),QVariant类,算法类(<QtAlgorithms>模块、<QtGlobal>模块),QRegExp类等。


参考文献:

[1] Download Qt Open Source:http://www.qt.io/download-open-source/#section-2

[2] Qt视频教程:http://www.jikexueyuan.com/course/qt/

[3] CSDN的Qt论坛:http://bbs.csdn.net/forums/Qt/

[4] Qt Documentation:http://doc.qt.io/

[5] Qt的主要类:http://www.kuqin.com/qtdocument/mainclasses.html

[6] Qt开源社区:http://www.qter.org/

[7] Qt快速入门系列教程:http://bbs.qter.org/forum.php?mod=viewthread&tid=193

[8] Qt学习之路:https://www.devbean.net/category/qt-study-road-2/

1 0
原创粉丝点击