1.环境搭建
用win7安装qt creator以后发现还要安装编译器,sdk什么的,太复杂
后来发现有个离线安装包,安装后qt-creator,sdk什么的都有了,赶紧下一个
在 http://download.qt-project.org/official_releases/ 里面的
http://download.qt-project.org/official_releases/qt/5.0/5.0.2/ 下了一个
qt-windows-opensource-5.0.2-mingw47_32-x86-offline.exe
安装后就基本搭建好环境了
2.设置 代码自动提示的快捷键
平时用惯了eclipse,突然间用qt creator 写c++ 还是有点不习惯的
修改代码提示快捷键,参考: http://www.cppblog.com/hongtaozhy/archive/2010/05/05/114421.html
直接把快捷键改成 alt + / ,顿时感觉舒服多了
3.个人粗俗理解 信号signal 与 信号槽slot 机制:
当类A的函数funA()被调用时,我们希望它能被类B的函数funB(String a,int b,double c))知道,然后函数funB(String a,int b,double c))就会接着被调用,
于是我们
1.在类A里定义了一个信号K (信号K是一个只声明不实现的函数),比如void K(String a,int b,double c); (可以看到信号K的函数参数就是信号槽funB()的函数参数)
2.在类A的funA()的实现里加一个 emit K(a,b,c); 表示发送信号
3.最后用connect()把它们联系起来,整个过程大概是这样
class A {
signals:
void K(String a,int b,double c);
public:
funcA();
}
funcA() {
..........
emit K(a,b,c);
}
class B {
public:
funcB();
}
main() {
A objectA;
B objectB;
QObject::connect(&objectA, &A::funcA, &objectB, &B::funcB);
}
4.用QNetworkAccessManager写程序的时候,出现 undefined reference to `_imp___ZN10QTcpSocketD1Ev' 错误,一开始以为是开发环境,编译器或者头文件之类的问题
后来发现是调用qt某些组件的时候,需要加上对应的模块
使用network或opengl或sql等模块后编译不通过在pro文件中写如下语句:
QT += network 或 QT += opengl 或 QT += sq
参考: Qt Creator使用体会与小技巧 http://blog.csdn.net/superjoel/article/details/5314225
5.接下来就是在网上找教程开始学习了