视频简介
QT是一种热门的跨平台的C++应用程序开发框架,它提供了丰富的库和工具,允许开发者高效地创建图形用户界面(GUI)以及命令行界面的应用程序,同时支持桌面、移动和嵌入式系统。为了帮助大家更好地入门QT,我们在Bilibili平台上传了教学视频,视频作者为团队姚尧老师。
本次教学视频深入讲解了Qt界面制作和信号机制的相关知识,包括创建工程、设置界面元素、添加图片和文件等操作,以及信号与槽函数的连接。同时,详细解析了Qt界面设计中的布局器、控件等概念,并通过实例演示了如何进行界面排版和布局。此外,还讲解了如何使用Qt库进行高级应用,如升级QLabel为自定义的控件,并讨论了键盘鼠标事件处理函数的使用方法。视频中还强调了在编写代码时应尽量使用属性设置,而不是直接在代码中设置。最后,通过实例演示了如何使用模态窗口和非模态窗口,并对窗口的创建、显示、控制等操作进行了深入讲解。
在未来,我们还会发布更多的团队软件或算法的学习视频,以满足大家的学习需求。我们希望这些视频能够对大家有所帮助,并期待大家的支持。
请继续关注我们的网站,以获取更多的学习资源和最新信息。感谢大家一直以来的支持和信任。
前置内容
- 安装Visual Studio 2017以上版本,视频展示为VS2022
- 安装Qt6 (for MSVC),下载地址:https://www.qt.io
- 将Qt6安装目录的MSVC文件下的bin目录加入系统环境变量Path
- 在VS中安装插件 Qt VS tool,以支持Qt在VS内的开发
视频主要内容
QT界面制作与信号机制详解(00:00:00)
主要介绍了Qt界面的制作和信号机制。Qt界面分为控制台程序和带界面的程序。在创建工程时,可以选择使用控制台程序或带界面的程序。在调试过程中,可以设置debug和release。此外,还介绍了如何创建Qt项目,包括菜单栏、快捷按钮、状态栏等。最后,讲解了如何创建一个主窗口,以及如何在界面上添加功能。
解读QRC文件UI文件的操作步骤(00:04:20)
主要讲述了如何导入UI文件、图片等资源到QRC文件中。在Iconfont网站下载并导入图片,然后将资源添加到QRC文件中。将资源拷到工程目录下,保存。在这个过程中,需要注意避免出现中文路径和空格,以保证外部资源的正确访问。此外,还介绍了如何使用QAction类和信号进行操作。
文件操作与界面排版的技巧分享(00:11:26)
主要讲述了如何将图标填入属性,以及如何保存和复制文件。同时,也提到了一个知识点,即如何在界面上进行排版。在操作过程中,可以利用快捷键来快速查看排版效果,以便更好地进行操作。最后,还介绍了如何将文件设置为Windows风格,以便在Windows系统中进行展示。
空间布局与控件设置的技巧分享(00:16:45)
主要讲述了如何设置空间的大小和控件的排列。如何掌握一个控件,然后将控件放置在容器中,这些容器可以进行集体移动。在设置空间时,可以将空间划分为几个部分,如菜单栏、列表视图等。为了让控件能够排列在合适的位置,可以先将其限制为最小大小,然后通过ctrl加R来调整控件的大小。此外,还可以添加增加、减少和删除按钮,以方便对控件进行操作。
修复弹簧问题与界面布局的探索(00:21:53)
该部分主要讨论了如何解决弹簧问题,以及如何在代码中设置弹簧的大小。通过添加弹簧和三个控制项,可以实现对弹簧的控制。通过设置最小和最大大小,可以限制弹簧的大小。接下来,讨论了如何处理delete操作,以及如何在代码中设置弹簧的显示。最后,通过添加一个控制台,并在其中放置QLable,实现了在关闭时显示弹簧的功能。
信号槽在UI设计中的应用(00:27:00)
主要讲述了信号槽的概念和如何连接信号与槽。老师通过一个简单的例子,介绍了信号槽的功能和作用。然后,他详细讲解了QSpinbox的功能以及发出的信号。接着,讲者通过实例展示了如何编写一个信号槽的机制,并将其编译并执行。最后,讲者提到了刻度范围设置为零到99,并希望这个刻度在动的时候也能动。
函数连接与参数设置的详细解析(00:31:46)
主要讲述了如何使用槽函数、参数继承、信号槽等概念来编写代码。首先,通过检查函数的传函数和参数继承,可以找到需要修改的参数。然后,将相关代码连接起来,实现功能。在连接过程中,需要注意信号槽的使用,以及如何让不同组件之间相互通信。最后,通过编译代码,完成功能的实现。
学习使用Qt文件选择功能(00:36:53)
这段内容主要讲述了如何设置一个文件对话框,使其能够显示文件的路径。首先,通过ctrl+R组合打开文件对话框,然后将可读写属性设置为read-only。接着,通过调用本地函数来驱动文件对话框,实现文件的打开。在文件对话框中,可以使用静态函数获取文件的路径,如QFileDialog::getOpenFileName。最后,将获取到的路径粘贴到代码中。需要注意的是,这段代码涉及到一些复杂的语法和逻辑,需要仔细阅读。
代码调试与实现功能演示(00:42:20)
主要讲述了如何使用QAction和connect功能实现文件操作。首先,通过点击UI中的QAction,将连接起来。然后,修改action为open,打开一个文件夹。接下来,进行调试,点击cancel按钮进入调试模式,拖动watch窗口观察指针值。最后,运行F5继续执行,观察文件名是否为变量。整个过程非常简单,可以实现所有功能。
Qt软件开发与窗口操作技巧(00:47:29)
主要讲述了如何添加窗口功能,包括新建窗口、右键菜单、设置属性等。同时,介绍了如何使用Qt网络功能、数据库连接、Web引擎、NFC和3D等。此外,还提到了一个项目设置,可以用来展示Qt设置。最后,强调了Qt可以连接到很多数据库,如SQL Server、MySQL等。
Qt开发视频教程与注意事项(00:54:47)
主要讲述了如何通过Qt库来创建一个视频播放窗口,并添加一些功能。首先,需要创建一个Qt类,然后通过new关键字新建一个窗口。接下来,可以通过改变窗口的名字和标题来增加一些功能。此外,还需要了解Qt的核心GUI,以及如何使用指针进行编程。最后,需要注意信号槽的使用,只有支持信号槽的对象才能在QObject中使用。
模态窗口的创建与控制操作(01:00:45)
主要讲述了如何使用模态窗口进行交互。首先,通过模态窗口创建一个子窗口,然后子窗口可以控制主窗口。在子窗口中,可以通过点击按钮来触发主窗口的某些操作。为了实现这个功能,需要定义一个指针类,并在CPP中实现。在子窗口中,还需要注册一个头文件,以便在头文件中引用主窗口的类。最后,通过强制转换将子窗口的指针类型改为父类,以实现子窗口与主窗口的关联。
程序实现与调试过程解析(01:08:50)
这段内容主要讲述了一个程序的实现过程。首先创建了一个名为clearAllData的函数,用于清除所有数据。通过include主窗口将子窗口包含进来。然后,通过if语句判断mpStudyWin会怎么样。通过暴力方法设置value,并使用QSpinBox进行相互转换。最后,通过setValue和setSpinBoxValue来设置值,并使用QDateTime获取当前时间。在这个过程中,还涉及到了连接、子窗口控制主窗口等操作。
Qt控件升级与继承的实践(01:15:36)
主要讲述了如何进行控件的升级。首先,需要创建一个Qt的class,继承于QLabel,完成控件的升级。在界面上,需要将myLabel设置为空,以实现优先显示。最后,通过调用该类来完成控件的升级。在这个过程中,需要注意控制器的先后顺序问题,确保事件在界面上优先显示。
继承与鼠标事件的实现与应用(01:21:58)
主要讲述了如何通过继承和重写函数来实现自己的功能。首先,需要将鼠标事件、键盘事件等继承到QLabel上,通过重写函数来实现自己的功能。在实现过程中,需要注意保留原来的功能,避免被改动。此外,还提到了Qt是一个典型的虚拟保护型,需要使用这个函数时必须存在。最后强调了在进程时一定要保留原来的功能,不要被改动。
教学视频
【VS2022下的Qt6界面编程入门(课程设计教学录屏版)】:视频原链接(BiliBili)
教学文件
请点击下方链接,下载本次教学使用的vs工程项目文件:
(PS:VS是一个非常复杂且强大的IDE,具有许多环境配置项,我们无法保证同一个项目文件在其他机器上也能直接编译执行。本文件仅学习使用,建议大家跟随老师的教学自行创立项目、配置文件、进行编码,以更好的学习QT)
完整学习资料
Qt编程指南:https://qtguide.ustclug.org
联系与反馈
如果有关于视频内容的问题,欢迎大家在评论区反馈交流。
Q.E.D.