由于授权许可的限制,Qt的开源版本无法提供所有的驱动程序。在mysql的官网上也没找到提供给Qt的驱动,网上说的编译方法貌似不适合现在的版本,研究了半天,终于找到一个方法。

 系统环境:Kubuntu 11.10

   


  
  1. sudo apt-get download libqt4-sql-mysql 

   把包解压缩,然后把里面的so文件搜出来直接拷贝到你的QtSDK的sqldriver目录。我的目录是~/QtSDK/Desktop/Qt/4.8.0/gcc/plugins/sqldrivers。

mysql安装:

   假设你已经安装mysql 如未安装:

 
  

  
  1. sudo apt-get install mysql-server mysql-client 

mysql安装后默认是没有设置root的密码,需要先更改下mysql的root密码。

 
  

  
  1. sudo mysqladmin -u root password XXXX 

xxxx即为你要给root账户的密码。

 

进入mysql 创建个测试用的数据库,我这里用的是 myqt。

 
  

  
  1. create database myqt; 

 

下面检测一下Qt是否能和mysql连接,写个程序检测下

 

 
  

  
  1. #include <QtCore/QCoreApplication> 
  2.                                       
  3. #include <QSqlDatabase> 
  4.                                       
  5. #include <QDebug> 
  6.                                       
  7. int main(int argc, char *argv[]) 
  8.                                       
  9.                                       
  10. QCoreApplication a(argc, argv); 
  11.                                       
  12. QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); 
  13.                                       
  14. db.setHostName("localhost"); 
  15.                                       
  16. db.setDatabaseName("myqt"); 
  17.                                       
  18. db.setUserName("root"); 
  19.                                       
  20. db.setPassword("123456"); 
  21.                                       
  22. if(!db.open()){ 
  23.                                       
  24. qDebug()<<"Unable to open database"
  25.                                       
  26. }else
  27.                                       
  28. qDebug()<<"Database connection established"
  29.                                       
  30.                                       
  31. return a.exec(); 
  32.                                       

在.pro文件中 QT +=那里需要加上sql

若能连接便会输出 Database connection established 。