在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  

       

 

    • EnigmaVirtual Box打包得到的文件。       

posted on 2016-10-15 18:44  学而优,思则通  阅读(1858)  评论(0编辑  收藏  举报

导航