在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 << "
      ";

  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:QtQt5.4.25.4msvc2013_64inwindeployqt.exe myexe.exe  
    • EnigmaVirtual Box打包得到的文件。       
http://www.cnblogs.com/ddblog/
原文地址:https://www.cnblogs.com/ddblog/p/5965073.html