《零基础学习QT4编程》读书笔记(第3,4章)

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: 《零基础学习QT4编程》读书笔记(第3,4章)

第三章开头讲的是C++的一些基本语法,C++内容比较多,仅靠前面这点东西,诸如基本类型变量,函数,面向对象程序设计,这些东西是一时半会儿学不会的,还好之前我做过java程序员,毕竟java是C++基础上的高级语言,所以,针对C++的类,还有面相对象,上手较快,此处不再深究,待开发时用到哪里不懂再学即可。

紧接着该书讲述windows编程的基础,这一块主要是要知道Windows的常用操作,比如环境变量是干什么的,还有注册表等等。针对环境变量,说白了就是为了把我们经常用到的命令配置到一个地方,以后我们可以直接在cmd命令行里面调用,比如我在读书笔记(第1,2章)里面配置qmake的环境变量,其实意思就是把Qt用到的命令工具配置到Path里面,截图如下:

qt环境变量配置

这个目录,也就是我的Qt常用到的命令目录,比如qmake.exe ,还有 qdoc3.exe......将这个目录配置到环境变量里面,即可在cmd命令提示符中随时调用该目录下的命令。注:windows下环境变量之间是以分号隔开的,在Linux下是以冒号隔开的。 后接着讲述注册表的知识,这个开发中用的并不多,很少涉及到,但是作为电脑使用者,注册表还是知道如何去打开,如何去修改的好。至于后面所讲解的VC++,还有MSDN均可作为参考使用。

Linux下的编程基础中,最主要是我们最起码要会使用Linux的常用命令,比如:ls, mkdir, cp, mv, vim编辑器,  ps, touch, cat, less, tar......其中涉及到了一个知识点是我之前经常记不牢的,就是与 Shell 有关的配置文件名称,并且说明每个文件的功能:

⑴ /etc/profile这是系统最主要的 Shell 配置文件,也是用户登录时系统最先检查的文件。系统最重要的环境变量都定义在此,其中包括 PATH 、 USER 、 LOGNAME 、 MAIL 、 HOSTNAME 、 HISTSIZE和 INPUTRC 等。除此之外,这个文件也定义了 ulimit ,它的功能是限制每个 Shell 所能执行的程序数目,以免造成系统资源的过度消耗。而在文件的最后,它会检查并执行/etc/profile.d/*.sh 的 Script 。

⑵ ~/.bash_profile这个文件是每位用户的 BASH 环境配置文件,它存在于用户的主目录中。当系统执行/etc/profile 后,就会接着读取此文件内的设置值。在此文件中,会定义 USERNAME 、 BASH_ENV 和 PATH 等环境变量。但是此处的 PATH 除了包含系统的 $PATH 变量外,还另外加入了用户的 bin 目录路径,而 BASH_ENV 变量则指出接下来系统要检查的文件名称。

⑶ ~/.bashrc接下来系统会检查 ~/.bashrc 文件,这个文件和前两个文件( /etc/profile 和~/.bash_profile )最大的不同是,每次执行 bash 时, ~/.bashrc 都会被再次读取,也就是说变量会再次被设置;而 /etc/profile 和 ~/.bash_profile 只有在登录时才进行读取。就是因为经常被重新读取,所以 ~/.bashrc 文件只用来定义一些终端设置及 Shell 提示符号等,而不用来定义环境变量。

在Linux中,编译C/C++用的是gcc/g++,所以,我们有必要学会安装这两个工具,并且要学会用gdb进行代码的调试,下面特此将GDB代码调试呈现下:

首先在Linux下,建立源文件,test.c,代码如下:

 

#include 

int func(int n)
{
        int sum = 0, i;
        for ( i = 0; i < n; i++) {
                sum += i;
        }
        return sum;
}

int main()
{
        int i;
        long result = 0;
        for ( i = 1; i <= 100; i++) {
                result += i;
        }
        printf("result[1-100]=%d\n", result);
        printf("result[1-250]=%d\n", func(250));
        return 0;
}

然后我们编译,命令如下:

[root@pact cpro]# gcc -o test test.c -g

这个意思就是我们生成可执行文件test(-o),并且支持gdb调试(-g)。然后我们执行如下命令:

[root@pact cpro]# gdb test

这样就开始了gdb调试,界面如下:

然后我们先掌握几个简单的GDB的命令:

file  装入想要调试的可执行文件.
kill  终止正在调试的程序.
list  列出产生执行文件的源代码的一部分.
next  执行一行源代码但不进入函数内部.
step  执行一行源代码而且进入函数内部.
run  执行当前被调试的程序
quit  终止 gdb
watch  使你能监视一个变量的值而不管它何时被改变.
break  在代码里设置断点, 这将使程序执行到这里时被挂起.
info b 查看断点信息

这些命令大多都有简写,比如list可以写成l,next可以用n代替,break用b代替。

首先我们键入:list 回车,那么gdb会给我们列出最近的10行代码,如果回车,gdb会接着执行上次的命令,即list,效果如下:

下面我们可以在函数func处下断点,还有15行下断点,我们可以观察result的值,命令如下:

b func

b 15

通过 info b 去查看断点的情况

如图所示:

然后我们执行:

run

即可运行到第一个断点,也就是第15行这个地方:

我们可以打印result的值,通过 p result 命令

下面我们就开始单步向下,输入 next 或者n

输入continue将会执行到下一个断点,也就是函数func这里,我们试下:

然后我们再次输入r,那么程序将会执行结束,输入quit即可退出GDB调试。

以上只是一个简单的小调试过程,具体更详细的可以找相关资料学习。Qt Creator的GDB调试就是跟这个大致一样,只不过做成了GUI的界面。

第四章书呢,感觉讲的东西并不是很重要,开发所用的IDE,我们只选择适合自己的一种即可,我采用Qt Creator,至于Eclipse,还有VC++,开发实在要用再去配置好了。第四章的目的也就是我们能够在Qt Creator里面建立项目开发项目。下面是一个helloworld的程序:

1:点击创建项目,Qt控件项目,Qt GUI 应用;

2:项目名字,根据自己情况写;

3:目标就选择桌面即可;

4:点击界面类mainwindow.ui,打开Qt Designer;

5:拖拽一个QPushButton到Window上;

6:编辑菜单,选择F4;

7:鼠标选择QPushButton然后拖拽红线到window上,有个弹窗,我们选择signal 是clicked(), slot 是 close();

 

大概第三四章就这么多东西,本人根据自己情况总结这么多。

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: 《零基础学习QT4编程》读书笔记(第3,4章)

文章的脚注信息由WordPress的wp-posturl插件自动生成



|2|left
打赏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: