在QT上进行GUI开发实战
1、目录
-
- 用ODBC的方式excel文件(xls)从输入数据
- GUI界面的入门设计
- QT内QFile的用法
- Qt内中文乱码的解决
- Qt打包成exe包
2、用ODBC的方式excel文件(xls)从输入数据
-
- 主要的网站参考:http://blog.csdn.net/u010780613/article/details/51151448
- 主要的代码:
QString str; str = QString::fromLocal8Bit("请选择Excel文件"); QString filePath = QFileDialog::getOpenFileName(this,str,"",tr("Exel file(*.xls)"));//excel文件路径读取 //加载数据库驱动 QSqlDatabase db = QSqlDatabase::addDatabase("QODBC","excelexport"); //DSN设置 QString dsn = "DRIVER={Microsoft Excel Driver (*.xls)};" "DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB="; db.setDatabaseName(dsn); //数据库查询 QSqlQuery query(db); qDebug() << QString::fromLocal8Bit("成功开数据库"); QString tableName = "Sheet1$"; //sheet名,$是必须的 QString sql="select * from ["+tableName+"]"; query.exec(sql); //数据的读入 while(query.next()){ QString id = query.value(0).toString(); QString name = query.value(1).toString(); }
db.close();
3、GUI界面的入门设计
-
- 新建Qt窗口项目
- 打开ui界面,进行ui设计
- 点击F4,进行信号的绑定。信号与槽概念详解:http://www.cnblogs.com/tgycoder/p/5274681.html
- 在界面的.h文件和.cpp文件中进行槽函数的定义与实现(槽函数必须与信号对应)
private slots: void input(); void output(); void quit();
4、QT内QFile的用法
-
- 主要参考:http://blog.csdn.net/xgbing/article/details/7772953
-
QString filename = QFileDialog::getSaveFileName(this,str,"savefile.txt",tr("*.txt")); //选择路径 QFile f(filename); str = QString::fromLocal8Bit("导出文件中..."); QTextStream txtOutput(&f); txtOutput << str << "\n";
5、Qt内中文乱码的解决
-
- 主要来源:http://blog.csdn.net/kunlong0909/article/details/8983562
- QString中文乱码,解决语句
QString str = QString::fromLocal8Bit("导出文件中...");
- QT中编程遇到cout,中文输出为乱码,解决方案为:将项目的文本编码改为GB2312,新建项目问题得到解决。
6、QT程序打包成EXE
-
- QT生产的exe依赖很多dll,如何找出这些依赖并拷贝出来呢,最简洁的方法是:用QT自带的windeployqt.exe工具运行需要处理的exe即可。
C:\Qt\Qt5.4.2\5.4\msvc2013_64\bin\windeployqt.exe myexe.exe
- QT生产的exe依赖很多dll,如何找出这些依赖并拷贝出来呢,最简洁的方法是:用QT自带的windeployqt.exe工具运行需要处理的exe即可。
-
- EnigmaVirtual Box打包得到的文件。
http://www.cnblogs.com/ddblog/