-
Notifications
You must be signed in to change notification settings - Fork 7
/
ch00-02.htm
133 lines (106 loc) · 7.13 KB
/
ch00-02.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>ch00-02</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="thumbnailviewer.css" type="text/css" />
<script src="thumbnailviewer.js" type="text/javascript">
/***********************************************
* Image Thumbnail Viewer Script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
</script>
</head>
<div class="os1">关于学习和实践</div>
<p>
知识是死的,如何学会运用知识解决问题才是能力。所以希望读者学东西不要学死了,尽信书不如无书,
时代在变化,知识在更新,不能固定在旧知识点上。
</p>
<p>
<font color=red><b>要学会学习新知识,动脑分析问题,动手解决问题,
这是忠告,希望读者牢记。</b>
</font>
</p>
<p>
新手常犯的毛病就是一遇到问题就说“我不会”,懒得想如何动脑动手解决问题,到处瞎问,这么混是没法锻炼能力的。
不可能所有东西都是现成的,等着你来抄。遇到事情要先想想有没有可能的方法去尝试,而不是傻等别人来解决。
一定要锻炼独立运用知识解决问题的能力,否则永远只是个混混。
</p>
<p>
遇到编程问题,常见的解决方法这里罗列一下,以供借鉴:<br />
<ul>
<li><b>查阅帮助文档,测试可能的类或函数:</b><br />
比如要改变一个控件的前景/背景颜色,如果不知道用什么函数,那可以去打开帮助文档(Qt Assistant工具可以查阅 Qt 文档),找到该控件对应的类文档,搜索关键词,比如颜色对应的单词是 color,前景是 foreground,背景是 background,如果这些词都查不到,那么是不是有别的单词呢,比如皮肤风格 skin、style 之类的,试一试总会有收获的,起码能多学几个函数。这种代码尝试是零成本的,编错了电脑也不会爆炸,没什么好害怕的,
学习就是不断地尝试,然后找到一条正确的道路。如果大多数情况下都能进行尝试并找到正确的路,那就形成能力了。
</li><br />
<li><b>常备几本教材、参考书,积攒示例代码:</b><br />
Qt 的书虽然不多,但还有几本的,买几本备用,通过回顾知识点、示例代码是可以温故而知新的,
不要看一遍就扔,书上知识一般都比较多,除非是过目不忘,否则都应该常翻阅温习的好。
书上和网上的例子代码要形成分类保存的习惯,示例代码积攒多了就是财富,
以后遇到问题都可能用得到。
</li><br />
<li><b>利用搜索引擎查找可能的在线文档、博客、维基、帖子等:</b><br />
通常初学者遇到的问题,别人学习时也会有类似的问题,他们很可能早几年就问过了,过了几年通常都会解决了,
可能有相关的帖子、博客、文档之类的,这时候一定不要懒,去网上多搜搜,关键词不要限于中文,
往往英文单词检索可能更有效,因为类名、函数名都是英文的。除了百度,还有必应、谷歌等,
学会用搜索引擎查找解决方案也是可行的。
</li><br />
<li><b>去专业的论坛、社区咨询前辈:</b><br />
Qt 在国内有 QTCN 开发网论坛:
<a href="http://www.qtcn.org/bbs/" target="new">
http://www.qtcn.org/bbs/ </a>,还可以去 Qt 官网社区论坛:
<a href="http://qt-project.org/forums" target="new">
http://qt-project.org/forums </a> ,再不行百度贴吧还有 Qt 吧。
这些社区论坛也是学习的好去处,但提问也是一门智慧,必须把问题讲清楚:<br />
①讲清楚开发环境,操作系统是什么,Qt库版本是什么,用什么工具做开发的等等。<br />
②把项目代码打包完整,放到附件或网盘共享里,让别人可以得到完整代码帮你调试修改,
不要随便贴两句代码就说出错,瞎嚷嚷半天,那解决不了任何问题。<br />
③讲清楚你想要实现什么东西,有些初学者不懂类或函数,会盯着代码死胡同折腾好几天,
实际上很可能有别的简单方法实现。<b>所以初学者提问时不要执着于错误代码,而是要讲清楚目标。</b>
重要的是实现目标,而不是纠结于错误的代码。世界上错误的路太多,你应该先寻找一条正确的路。<br />
④尊重论坛前辈,可能他暂时也不知道怎么弄,别人帮你回个贴可能有不好使的的代码,
这时候没必要怪别人不懂,因为你自己也不懂才来问的,不要五十步笑百步。
</li><br />
<li><b>学习 Qt 库的源代码:</b><br />
有些问题可能死活找不到相关的解决方法,问别人,别人也不知道。那还有一种靠谱的方法,
就是查看 Qt 类库的源代码。所有代码都是人写出来的,别人能写出来,你也能学会看懂源码。
必要的时候就修改类库的源码或者继承新类自己尝试解决问题。这是开源软件学习的升华过程,
开源软件的好处就是你能得到源代码,并且可以自己修改,升华到这层次就可以算神功大成了,
那是真正的学会了。别人是人,你也是人,别人能做到,你也是可以的。不要片面迷信大神,
因为通过努力你也可以当大神,一定不要拘束自己的潜力!
</li><br />
</ul>
</p>
<div class="practice">
<table>
<tbody>
<tr>
<td><img src="images/pics/practice.png" alt="tip" /></td>
<td> <b>练习</b> </td>
</tr>
</tbody>
</table>
最后说明一下本教程章节里的练习实践,学习编程绝对不能懒,
一定要动手敲键盘输入代码或者用笔抄写代码,这样加深印象。
用 CV 大法(Ctrl+C 和 Ctrl+V)是学不到知识的,必须亲自动手才行。
因为不可能所有知识点都讲,而且知识点也会更新变化,重要的是锻炼学习能力。
本教程章节末尾专门留了动脑动手的练习,这些练习里面通常也是很重要的知识点,
<b>
希望读者自己动手去摸索学习,最好全部的练习都动手操练一遍。
不动脑不动手那是你自己的损失,自欺欺人不如不学。<br />
最后是关于练习的一点提示:独立解决,方法不限,结果不限,只要能找到一条正确的路实现目标即可。
</b>
</div>
<br />
<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 40%;"><div style="text-align: center;"><a href="ch00-01.htm"><img class="pic" style="width: 32px; height: 32px;" alt="prev" src="images/pics/prev.png" /></a></div></td>
<td style="width: 20%;"><div style="text-align: center;"><a href="contents.htm"><img class="pic" style="width: 32px; height: 32px;" alt="contents" src="images/pics/contents.png" /></a></div></td>
<td style="width: 40%;"><div style="text-align: center;"><a href="ch01-00.htm"><img class="pic" style="width: 32px; height: 32px;" alt="next" src="images/pics/next.png" /></a></div></td>
</tr>
</tbody>
</table>
</html>