最近又拾起荒废多年的qt + vc,由于项目源于vc 6.0,转化为vc2010后的项目,如果需要增加功能通常会遇到许多不方便,通过网络搜索和自己的揣摩,终于解决了,现在想总结一下:
1、vc2010studio无法利用新增类向导新增一个继承于QObject的类,只能新增一个C++文件,然后手动增加代码。问题是,增加后该类的头文件的配置属性如果没有正确配置,就无法正确编译,配置步骤如下:右键点击新增的头文件,再点击属性,弹出配置对话框,再点击自定义生成对话框中的常规,图中的右边出现四个配置项,分别是命令行,说明,输出,附加依赖项,可以参照能正常编译的继承于QObject类的头文件配置,把配置项里面的文件名字改过来就好。
配置好,点击头文件右键,点击编译按钮,即可编译,编译后整个项目即可链接,这时候新增的头文件产生的moc文件如果没有手动增加到项目里,编译链接 error LNK2019 ,将生成的moc文件添加即可。
2、重新安装vc2010 和qt4、vs studio add-in1.1.0后,发现 add-in的自动编辑功能不能识别qt各种内嵌的系统符号,经过反复查找原因, 最后是一个低级错误。这个错误是系统变量QTDIR 设置为 c:\qt\4.8.x,这个没错,错在不知道何时后面又增加了一个位置,c:\qt\4.8.x\include,导致出现以上错误。
3、QTableWidget 表格增加新一行时,调试时程序有未处理异常,0xC0000005: 读取位置 0x00000000 时发生访问冲突,最后发现 QTableWidget的SIGNAL(stateChanged(int))触发存储槽函数,因为存储函数在存储新加行时触发异常,经过对存储函数的处理,完美解决