Qt学习日记1

    xiaoxiao2026-05-02  9

    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] 的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/

    转载请注明原文地址: https://ju.6miu.com/read-1309263.html
    最新回复(0)