在QT上进行GUI开发实战

Posted Stay Hungry,Stay Foolish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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打包得到的文件。       

以上是关于在QT上进行GUI开发实战的主要内容,如果未能解决你的问题,请参考以下文章

结构建模设计——Solidworks软件之在已建模型的基础上进行特征修改及模型报错的解决方法实战

结构建模设计——Solidworks软件之在已建模型的基础上进行特征修改及模型报错的解决方法实战

嵌入式linux QT开发——GUI原理分析

嵌入式linux QT开发——GUI原理分析

QT C++ 我可以使用自定义 mime 类型在多个应用程序上进行复制和粘贴吗?

Python Qt GUI设计:做一款串口调试助手(实战篇—1)