本身搞android的,工作需要用qt,有几个地方不是很了解,请问大牛

本身搞android的,工作需要用qt,有几个地方不是很了解,请教大牛
1:emit是干什么用的,一个类中signals:
  void addWarn(quint32 warn);然后在一个方法中emit addWarn(warn);
2: qRegisterMetaType<HkTranData>("HkTranData");
  qRegisterMetaType<EquCfg>("EquCfg");
  qRegisterMetaType<SaveData>("SaveData");这个HkTranData,EquCfg,SaveData都是一个类,括号里面用“”包围起来起什么作用,整个这条语句有什么作用?
3:怎么连接数据库?在windows下面要自己编译连接数据库的驱动吗?别人编译好的可以用嘛?能否提供详细步骤,我知道qt默认下面只有一个连sqllite的驱动
4:怎么写多线程程序,是否要引入额外的库和包?
5:用vs2008编译的lib和dll,在qt中应该怎么引用?我现在在网上需要用到一个c++库,但是只有源码, 而且要正确使用这个库,还需要用到其它的库,所以需要一起编译之后能够在qt中用这些类,不知道这样描述大家懂不?就像java中要用一个类,把jar包加进classpath然后import就可以用了
希望各位帮助一下小弟,急,十万火急,谢了,只有这么多分了,十分感谢!!

------解决方案--------------------
5. 用vs2008编译的lib和dll,在qt中应该怎么引用?我现在在网上需要用到一个c++库,但是只有源码, 而且要正确使用这个库,还需要用到其它的库,所以需要一起编译之后能够在qt中用这些类,不知道这样描述大家懂不?就像java中要用一个类,把jar包加进classpath然后import就可以用了

需要在qt工程pro文件中添加如下:
LIBS += -Llib \ 
-laalib\ 
-lssl
注解:lib是存放dll的目录,aalib和ssl是dll的名称


------解决方案--------------------
原来有人和我一样,本身搞android工作需要还要学qt~
没人回答第三个,关于自己添加非默认的数据库驱动,也不麻烦的,可以参考学习一下:
http://blog.csdn.net/yangt1100/article/details/5409556
------解决方案--------------------
1:emit是干什么用的,一个类中signals:
void addWarn(quint32 warn);然后在一个方法中emit addWarn(warn);
signal和slot是QT的核心机制 emit signal就是用来产生一个被signals声明过的函数

2: qRegisterMetaType<HkTranData>("HkTranData");
qRegisterMetaType<EquCfg>("EquCfg");
qRegisterMetaType<SaveData>("SaveData");这个HkTranData,EquCfg,SaveData都是一个类,括号里面用“”包围起来起什么作用,整个这条语句有什么作用?
注册一个metaType类型,要不QT connect时 里面的参数必须是原始类型或者是QT的类型,对于自己定义的类型需要用qRegisterMetaType进行注册 可以通过编译

3:怎么连接数据库?在windows下面要自己编译连接数据库的驱动吗?别人编译好的可以用嘛?能否提供详细步骤,我知道qt默认下面只有一个连sqllite的驱动
你使用的是什么版的QT的?我用的windows版的支持多种数据库,包括MS的ODBC如ACCESS这样的,也支持oracle

4:怎么写多线程程序,是否要引入额外的库和包?
有QThread等类和如QRunable这样的框架调用,非常简单
  
5:用vs2008编译的lib和dll,在qt中应该怎么引用?我现在在网上需要用到一个c++库,但是只有源码, 而且要正确使用这个库,还需要用到其它的库,所以需要一起编译之后能够在qt中用这些类,不知道这样描述大家懂不?就像java中要用一个类,把jar包加进classpath然后import就可以用了
正常用,我现在就经常用QT和其他的第三方的库混编,如ACE什么的,是OK的,制定好路径和dll 没发现问题

希望各位帮助一下小弟,急,十万火急,谢了,只有这么多分了,十分感谢!!