将近两个月的QT开发,写一些积累
首先是QT desinger的使用,用desinger来画 界面,生成一个.ui文件,在以前的版本中都可以用uic命令来得到.h和.cpp文件,但是在QT4中只能得到.h文件,.cpp文件要自己写.以前的命令是uic -o *.h *.ui生成.h文件,用uic -i *.h -o *.cpp *.ui来生成.cpp文件,但是现在只能用前一个命令来生成ui_*.h文件,剩下的*.h和*.cpp文件要自己写,main.cpp也得自己写,别人怎么写,自己照着写就好!
做好界面之后就该在.cpp里面添加功能函数了。
主要的就是connect连接的singal和slots。这是QT的一个新的概念,和VC里的消息相应挺像的。文档里介绍了三种方法,其实直接自己写就好,根据自己的需要,根据QT类中提供的singal和slots,有需要的就直接调用,没有需要的就自己写,在定义singal和slots的时候要注意一般都定义为private slots(singal)。定义为私有的,而且别忘了加slots和singal关键字,如果不加这个关键字,它只是一个函数而不是信号或者槽了,在CONNECT的时候就没法调用。
在定义信号和槽的时候还可以使用QMetaObject::connectSlotsByName(this);自动连接以名字命名的SLOTS,比如on_pushButton_clicked(),这样就不用定义connect了,当点击pushButton的时候,就可以自动的连接这个SLOTS了。很方便的。
有了以上的两个步骤,就基本上可以做出基本的界面程序了,即有了界面也有了消息相应。
下面介绍一下我用过的几个类,一个主要的就是Model/View。很多界面都要用到这个类型。Model用来获取数据和底层交互,而View用来显示Model所获得的信息,将它
首先是QT desinger的使用,用desinger来画 界面,生成一个.ui文件,在以前的版本中都可以用uic命令来得到.h和.cpp文件,但是在QT4中只能得到.h文件,.cpp文件要自己写.以前的命令是uic -o *.h *.ui生成.h文件,用uic -i *.h -o *.cpp *.ui来生成.cpp文件,但是现在只能用前一个命令来生成ui_*.h文件,剩下的*.h和*.cpp文件要自己写,main.cpp也得自己写,别人怎么写,自己照着写就好!
做好界面之后就该在.cpp里面添加功能函数了。
主要的就是connect连接的singal和slots。这是QT的一个新的概念,和VC里的消息相应挺像的。文档里介绍了三种方法,其实直接自己写就好,根据自己的需要,根据QT类中提供的singal和slots,有需要的就直接调用,没有需要的就自己写,在定义singal和slots的时候要注意一般都定义为private slots(singal)。定义为私有的,而且别忘了加slots和singal关键字,如果不加这个关键字,它只是一个函数而不是信号或者槽了,在CONNECT的时候就没法调用。
在定义信号和槽的时候还可以使用QMetaObject::connectSlotsByName(this);自动连接以名字命名的SLOTS,比如on_pushButton_clicked(),这样就不用定义connect了,当点击pushButton的时候,就可以自动的连接这个SLOTS了。很方便的。
有了以上的两个步骤,就基本上可以做出基本的界面程序了,即有了界面也有了消息相应。
下面介绍一下我用过的几个类,一个主要的就是Model/View。很多界面都要用到这个类型。Model用来获取数据和底层交互,而View用来显示Model所获得的信息,将它