|
课程讲解基于QT5.9 SDK,包含QT界面编程的核心内容,并提供全部源码,课程讲解方式是接口讲解、分析、演示示例,课程讲解QTCreator在不同平台的配置方法,linux,windows,mac,课程演示主要以vs2015+QT5.9为主,开始会讲解QTCreator配置。课程源码基于c++ 11以上版本,建议至少安装vs2013以上。课程后会做一个图像编辑器的示例。% ?' H, j( ~" h8 G
课程收益& d8 D9 z6 s# ]
学完本课程能够掌握QT开发环境配置方式,理解QT的信号槽机制,理解QT的界面、资源、信号槽源码的生成方式,学会使用qss样式表来设置界面(比如渐变背景,圆角边框,),理解并能应用QT的事件处理机制,能够自定义控件(事件处理,渲染),理解QT的绘图机制,理解QT界面代码和业务分离的设计模式。
9 y, I( R3 o$ i6 n& i Y$ q讲师介绍
) X; M6 F& d D+ w, o& n0 B; ^/ w: O, o1 u- a1 v
夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项目,比赛鹰眼系统,主编出版过《C++实训教程》,并同时熟悉php,c#,java,安卓项目研发。
& \2 f3 Z* x7 G/ v课程大纲
% ^( b+ c( D* c7 L2 ?第1章T5的VS和QTCreator项目配置管理4 I' B6 [5 z; Q- a7 s0 ~
1. 课程介绍购课后加452758022群下载代码 8:04
+ D* O1 H: g; P& a& ~3 r1 A* i 2. QT5开发环境qtcreator、SDK和vs插件下载和安装 12:22
6 H1 e% |8 u; p0 I+ {* G4 n 3. QT的SDK中各个目录和文件功能说明 8:28% `4 S5 m. R& v6 u$ n) m6 P7 `
4. 创建第一个qtcreator项目并确定文件和目录的作用 12:43( F6 [% P$ `9 S% E. ^% s
5. linux中安装qt及其依赖并编写测试项目 6:16
8 O& K0 g& f% l% L 6. windows下qtcreator调试环境安装配置使用 9:43
7 K: h" D# X1 x6 }, k' O G1 `+ @, p- C 7. qtcreator引入第三方opencv库和头文件路径 10:38
7 n* ~$ I$ H0 Y* V 8. qtcreator项目配置添加界面并设置构建和运行 10:180 O2 t1 I/ `7 C) o' M# ^
9. vs2015创建QT项目并详细介绍vs项目设置 12:39' M8 W$ _% c9 @, z7 ^# P1 d
10. VS设置编译的qt库版本和导出为qtcreator项目 9:29
8 T, [2 N& P3 t4 x# [: r+ d; A 11. qmake引入qt库创建窗口、设置头文件、分析makefile并设置输出 10:45
Q: b6 b+ _/ T 第2章Make项目原理和手动配置qtcreator项目
- W2 j% e, v5 X) S3 j4 h 1. qt项目由源码和界面资源文件到程序的步骤分析 9:363 D/ U m6 i+ d ]) B( w
2. 配置vs和qmake环境变量执行qmake生成makefile 9:12
& m" c* O1 s3 _; V 3. 通过批处理完成qt项目编译并移植到ubuntu下完成qt项目配置和编译 3:02
) r. S. k. X& z+ E; `3 W( q* h4 x 4. qmake的pro项目导出为vs项目 10:203 M! E+ V! f, M' n; q! z# U
5. qmake语法设置pro中的库导入路径和导入库,导入opencv 6:02
6 _4 Q' B5 `$ H' \5 C% Q2 o 6. qmake创建动态链接和静态链接库并在windows中输出dll和lib 22:429 }2 G" g4 P l! ?( I3 k* J5 c
7. pro项目文件中设置dll和lib的输出路径并在ubuntu下测试so库 8:133 j0 F9 t2 ?, c0 k
8. qtcreator的debug版本和release版本配置和设置 6:40' X( M- w+ `9 S" w$ v. l/ k
9. qtcreator的qmake跨平台配置 15:35
V6 d7 @! o- P7 F# t$ a 第3章t信号槽使用及其原理
. ]0 N, s8 ?+ a; A! B" m1 | 1. QT信号槽概念原理讲解 9:12
9 H$ r* q" I) d, j' x 2. 通过qt设计器qt designer设置关闭窗口和最小化窗口信号槽 8:28
2 N6 L: K9 d, O+ ?: O1 A! | 3. 手动添加信号函数并分析qt的moc如何生成信号代码 10:12
4 K: w- c" O w# d: { 4. 手动创建槽函数并在qt designer中实现手动创建的信号槽绑定 7:00
" R. I& j1 M8 v( ]. g' m& r1 G 5. 24. 使用connect函数实现信号槽绑定并分析moc生成的槽函数代码 13:31
b/ J% S- |" |5 }& ~& l' `' Q( G 第4章t核心窗口基类QWidget
0 R# i9 X* Z$ u& z! i 1. QWidget类分析显示和隐藏接口说明,线程类QThread使用方法 9:07% y& q% `6 ~+ X: A* ?4 _/ {
2. 创建vs项目调用QWidget显示和隐藏并演示线程中调用槽函数的错误 9:56! ?& s& f' q+ N$ X2 k
3. 创建QWidget的子类添加支持信号槽的宏,connect函数绑定信号槽 6:19
5 k# L( }' s3 F" o 4. 获取QWidget坐标尺寸并设置geometry 7:181 ~% J& Z5 b+ s. {7 Y' b/ q
5. 创建QThread子类并使用signals关键字创建信号函数 7:179 E( @4 k0 u( ^6 R+ e: `% z) a
6. 使用slots手动创建槽函数并使用线程信号和槽中实现窗口移动动画 10:24 `, x: Y' x, U, E0 {
7. QWidget窗口状态设置最大化最小化全屏 11:46
/ b% x8 A8 d. [( I' ^$ K: G. X1 v 8. QWidget窗口样式设置无边框,最大化最小化关闭按钮定义 15:36
( i8 h# G# A k) o9 d5 q5 L 第5章String字符串处理及中文乱码问题处理' `0 p6 v$ Z) g# g9 m3 s) v
1. gbk_utf_ansi_asc字符集分析字节序 21:118 F- n0 @7 R F
2. QString项目创建空和NULL判断 10:06
, @5 P7 {2 v/ |7 \% H9 O ? 3. QString格式化字符串转换 13:33& j" r' f; N. ]6 V- X
4. QString查找_截断_替换_分割字符串接口讲解 5:22$ E0 Z, R7 t9 O4 N
5. QString的indexof查找字符串的示例 10:408 I$ {0 b% p( {. \; ~- i0 |3 `& U
6. QString字符串查找替换replace和切割split示例 17:55
9 m+ e2 o# F$ G6 M0 Q. B 7. QString通过QRegexp正则表达式查找、替换、分割字符串 11:16% }/ I3 u) e2 J
8. Qt中文乱码问题在vs项目中显示中文 9:36
/ I6 U; T8 l4 }, V) X: e3 ^ 9. VS中正常移植到QTCreator乱码的问题,源码文件的编码格式转换 11:01, v5 T7 V6 r' M8 `
10. 编码方式转换将QString中存放的中文在WinAPI中显示 15:32! @, R Z* X$ m& p: n6 T
第6章Label、QPushButton和QLineEdit控件
' p" o% p v9 d0 a/ M+ ^( L 1. QLabel设置文件格式颜色背景色字体和大小 14:39
1 K+ P ~& U/ R1 U9 B9 } 2. QLabel使用pixmap显示图和qss设置背景缩放图 6:58
! r% ~" [5 ^" V! o2 D `8 v 3. QLabel播放gif动画 6:59
# U$ `0 Y! ~7 E* |7 H 4. QLabel富文本显示并处理链接点击和hover信号 8:35. [- ]& L- W+ \; }/ k6 K" ~, y$ s( a
5. QLable设置可编辑可选择并获取选择的文本 12:430 R4 L9 Y, @" |2 v* ^
6. QPushButton介绍和点击选择鼠标按住松开事件设置 12:02
8 w6 S3 t% R `2 Y' ` 7. QPushButon快捷键设置组合键顺序按键激发信号 6:44
1 s9 p" B% p+ ~, D$ @3 g( o2 e# _! g 8. QPushButton背景字体qss样式设置添加背景图片 15:31$ a6 F) V* c) X
9. QPushButton使用qss添加圆角边框并添加渐变颜色 6:54) ^6 C0 H! m. R. t. O7 E
10. QPushButton通过qss实现鼠标悬停设置不同的渐变背景 6:05
( C. A y- D% ?2 I 11. QLineEdit分析文本内容提示_输入和获取只读删掉按钮最大输入 16:48
. d* a5 \' g' ~2 t. ~/ u$ M 12. QLineEdit只读_删除按钮_设置字符长度_重做和撤销 7:59* w5 k# Q: ~5 w& t
13. QLineEdit的setInputMask输入掩码格式详解和示例 19:434 L, C6 T5 S- d/ p% u7 H
14. QLineEdit的QValidator检验整型和浮点型输入并关闭科学计数法 9:24$ t' }& }7 o* ~4 C
15. QLineEdit的QRegExpValidator正则验证邮箱格式 14:078 I K- w0 K: Y
16. QLineEdit的信号事件修改和确认 17:38! D6 N* B% y+ M4 I2 X X
17. QLineEdit的qss样式设置 12:10% T8 u; ~5 g8 C* `4 E: p- z
第7章Layout布局器QObject子节点遍历- X, x- W7 D {; K$ d ] _7 W
1. QObject子节点访问接口并示例遍历子节点 12:28% S9 m+ t0 n- o$ B1 Y7 I' e
2. 递归遍历QObject所有子节点并获取控件类型做转换 13:449 v) M) O: L" I2 S: W
3. QVBoxLayout垂直布局器ui添加并分析其源码机制演示另三种布局器 13:28
) ~& m5 ?6 A# z' U& l 4. QSizePolicy布局尺寸策略分析 7:309 [. M) n" Z6 \7 r6 z
5. 手动创建代码添加QVBoxlayout布局窗口 7:013 T& V$ }7 I. q
6. QVBoxLayout和QHboxLayout三种尺寸策略讲解和演示 13:33
' l( s# _/ ]5 B4 n 7. QVBoxLayout和QHboxLayout最大最小尺寸设置演示 7:34
6 i* e5 F I1 C 8. QGridLayout接口讲解和代码示例 15:21# j. f: p% f Y/ w+ ?* N
9. QFormLayout布局函数介绍并添加输入框按钮和子布局器 19:16& s0 c; d& A; N2 H) X' e
10. QFormLayout遍历布局中所有元素实现空验证和所有内容情况信号槽 23:39, e; @; x3 y4 C- r
第8章CheckBox、QRadioBox和QComboBox
! q4 O6 n# X" R" ^' V) B9 y 1. QCheckbox分析信号处理单选多选,分组单选 18:24/ v; J+ [- U ^" W- b/ g# z
2. QButtonGroup添加QCheckBox处理点击选择信号 14:05
; V/ a6 p' P4 K+ W% |3 t 3. QRadioButton结合QButtonGroup和QVBoxLayout 17:53
N- `+ G" Q: {6 C6 ~' R6 P) V) ~ 4. QComboBox控件介绍并使用界面设计器添加数据 8:37
4 t9 G' H; n3 L8 } b 5. QComboBox通过代码添加内容包括图标 12:242 x& i" U5 n6 C. S4 L: n/ i. i1 e
6. QComboBox插入QVariant用户自定义数据 11:019 o: l! ^/ T8 h0 L% ]& T
7. QComboBox信号事件处理 12:10
/ t- A6 T1 O1 R% [$ l 8. QSlider属性方法讲解和项目创建 12:294 e8 ~8 e/ T! A3 z) [% A9 ~; Q
9. QSlider信号事件处理 10:02
6 X2 {0 U0 i8 }/ k, y 10. QSlider样式qss设计 15:04* ^. j8 j) f1 }2 f
11. QSlider重载鼠标事件,UI支持自定义XSlider,滑动条移到点击位置 12:28
( Z! d3 K* U* }; ~* E! w0 c) ^ 第9章:列表控件(列表,表格,树)
$ k1 a" k( w, B* {3 T7 l } 1. QListWidget基础和属性设置 16:54
+ \' o8 L `1 z: [& S% K 2. QListWidget手动插入数据(包含图标)的多种方法 10:14
N" Z$ C% o. j 3. QListWidget遍历元素和编辑列表实现 11:04
- \ B4 F$ f8 l2 P4 ~ 4. QListWidget内容排序 4:07
1 h- u" a! q: g 5. QlistWidget信号事件 26:38' ], J X9 M# Q2 Q% n1 N
6. QListWidget显示其他控件 5:32 o% \$ x' Q! \; c4 f; \
7. QTableWidget控件介绍 6:17
* P% _) X! w O7 i3 L4 p$ t 8. QTableWidget常用属性分析和代码分析 23:00
9 E# m. R1 P+ l! G 9. QTableWidget水平和垂直标题的插入和设置 15:568 L$ @: L2 `" h
10. QTableWidget插入数据插入图标图片和widget控件 16:591 q" o5 s0 E, ^1 P# B2 u0 Q: R
11. QTableWidget选择多行和删除多行处理 29:38
) L4 h9 V( I! d) m& L 12. QTableWidget信号鼠标悬停事件 12:58
3 O6 B& W3 A2 Q( e% e1 H1 |5 T: z9 i$ n 13. QTableWidget标题栏点击信号 12:55
* t+ S. P2 Z9 v5 y9 \+ I1 [ 14. QTableWidget样式qss设定 12:587 [8 g( ~! r0 s8 m) X
15. QTreeWidget介绍 6:208 I- R* D; m1 ?. j
16. QTreeWidget属性分析和设置 10:43
* x& j8 p! F1 W/ V" |: g 17. QTreeWidget标题插入和设置 14:180 j; k, M4 U1 X5 ~/ S4 o; G
18. QTreeWidget插入数据图标widget 20:10
/ k5 m: R9 A% [) O* @ 19. QTreeWIdget信号事件 15:50' L) o) w, r5 D) F
20. QTreeWidget样式qss设置 16:24* g* ^$ Q1 W+ N
第10章Dialog和进度条) m3 t4 L4 Y2 {& M& K K! l; a# {& S8 i
1. QDialog属性方法设置 16:18
# {6 v0 g3 B8 j: }; o 2. 重载QDialog开发自定义样式圆角边框和按钮的XMessageBox 16:37- M2 l8 C( Z/ ^; u! ~4 ~# a
3. QProgressBar进度条线程模拟显示 17:257 e5 A; u2 J3 V g) y" c" C
4. QDialog进度条结束后窗口淡出动画 11:22- C1 x- t2 n% `: g
第11章:菜单、工具栏和状态栏QMainWindow, S% F v# _8 @ E; H9 ]
1. QT菜单QMenuBar接口介绍 4:19) `! ~ e& u: C1 M- a9 ~% r& I
2. QMenuBar通过代码添加到三级菜单 9:09
8 r9 B3 c7 A8 V4 {! c" Q$ E 3. QMenu和QAction菜单事件信号 7:33
+ o q j9 b' q8 i3 w& K$ L. } 4. 鼠标悬停动态产生Qmenu菜单 6:54- g, t/ e4 f4 c. ]- @
5. QMenu菜单的单选和多选 5:42; f Z8 q# p" R: s
6. QMenu按钮菜单 8:15
: R' n; B: Q d- d) p l- m& q, Q9 V 7. QTooBar工具栏和QStatusBar状态栏 6:19
) U0 Y0 l" `+ s# n. c. { 8. QMainWindow菜单工具状态栏 17:589 h$ L( U+ [. T( Z: v$ @& z
第12章T事件重载 QEvent+ }- m: N9 C9 {
1. 重载并测试所有事件的入口函数event 11:19
; R, c5 P* G+ ^) ~: X8 L 2. 重载event或按下松开函数捕获键盘事件解决连按问题 14:004 c( o. S8 y! p
3. 鼠标事件三种坐标,按键状态和重载事件函数介绍 10:29
7 Q) E0 R# ?7 W2 C; a% h; @ 4. 鼠标事件代码演示三种坐标显示和转换 16:47# C( _) w5 n( f( X$ e# `9 T
5. 鼠标按键事件左右键和中间键 6:32
/ M) Q) l3 k. u7 C- x; C) E1 ~0 N: E% k; p 6. 鼠标双击单击和移动事件并示例右键菜单 8:01' H2 Z+ a2 a e/ j- K# E$ W# C7 @
7. 鼠标图标替换为图片 6:122 @+ X' O5 f( n0 u& n
8. 窗口大小变化事件自动改变控件大小 10:32: \$ I6 j( o0 d1 ]
第13章:QT图像绘制QPainter
; R. H! o% r6 f! f; O: S) S. [ 1. QPainter的qt绘制介绍 6:22
- y1 O# x2 H' L 2. 绘制文本并设置动态设置字体 12:049 j" |% U3 o0 s# T/ l8 J
3. 绘制线并设置QLine线的参数 15:20
% e$ ^$ d3 g @3 `( b+ ^: ]: v 4. QImage各种创建空间的接口并做清理和空判断 7:33
, V: S: w4 B8 I( y, A/ M7 y H 5. QImage空间访问接口,内存存储方式,图像拉升和存储 10:52
4 ]8 h5 B+ V! Z; p, H7 n8 { 6. QImage代码演示多种遍历方法修改图像 13:09
: f$ [9 l: ]+ E- R 第14章:Qt实战图片编辑器
( o2 ]2 _1 r3 ~0 g! [0 O 1. XPS图片编辑项目需求设计 5:01$ b6 \8 C9 G% T1 o, T
2. XPS项目创建界面设计 6:385 t3 e$ B/ c' s
3. XPS菜单打开并显示图像 14:35, V) ]3 j; e4 W, ?
4. XPS抗锯齿的画笔功能 12:04) c+ Q0 ^8 F/ q. P
5. XPS画笔的粗细设置 6:49: Y/ m7 q* H5 e( L+ e, j9 q% t
6. XPS画笔颜色设置 6:03
7 E) Z, {" y& q# S; a5 N 7. XPS橡皮擦功能完成 14:16
* j# h) u$ }! ?$ {. U7 \( ~/ j 8. XPS图片保存功能完成和课程结束语 7:01+ B$ r) `; a3 ~0 H- M+ f4 W
( F( R" c6 i5 \9 `8 I' Y0 u
! s$ c5 N7 I V6 \ F3 K' T侵权联系与免责声明1、本站资源所有言论和图片纯属用户个人意见,与本论坛立场无关9 j- v' i' I9 g8 I+ Z
2、本站所有资源收集于互联网,由用户分享,该帖子作者与瑞客论坛不享有任何版权,如有侵权请联系本站删除
" p; k: Z# V0 _+ X0 H3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责% @8 K$ e( Y. l- y* }" B6 {
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
6 O& m8 E+ H: w, K0 b如有侵权联系邮箱:ruikelink@gmai.com
% X+ G m/ W" m+ _- @1 c& P; b- W, S
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见
1 S) T+ Z7 D6 }+ j5 W- c
" \* [) ?9 P: I% _
7 b, B o1 q8 |& \4 _& F; _" I- O, O) m9 s
本资源由Java自学网收集整理【www.javazx.com】 |
|