zoukankan      html  css  js  c++  java
  • Modle/View/Delegate框架+QSqlQuery类实现QT和MYSQL交互

    2020的春节,武汉的疫情让我安心在家学QT,很喜欢https://www.devbean.net/category/qt-study-road-2/文章,深入浅出,很接地气。虽然也存在一些问题,但觉得值得初学者一读。

    QT库一个很庞大的系统,由于时间和精力有限,不能系统的分门别类的总结相关知识点,概念及常规应用,这里先留下一些粗浅认识,做一个结点吧,后续结合具体案例来完善补充。

    前前后后,看了不少例子,由几个应用主题为切入点,简单罗列下,具体操作可以查书。

    1.模型视图框架( Modle/View/Delegate)方式 或者使用QSqlQuery类操作数据库,MVC方式适合于和界面交互操作,后者适合单纯或者稍复杂的数据库操作。

    2.QEvent事件循环、分发、过滤机制,和信号/槽的应用。

    3.QThread完成多线程的调度,还有辅助线程同步/交互的类QMutex

    以后能争取做一下小应用

    1.QNetwork网络应用,or可以灵活操作设备IO的读写如运用Qbuffer做一些采集数据的传递

    2.做一些工控现场辅助工具,采集数据,画出变化折线图和数据TRACE图等。

    3.结合openCV库,和QPixmap,QImage做一些图像处理,识别的应用

    4.做QtCreator插件完善IDE应用。

    这里先从一个简单 online eMarket 新品入库案例来看下QT(QtCreator4.4.1+QT5.9.3+GCC 5.4.1+UBUNTU64bit)下界面和MYSQL的交互应用。

    参考了QT5开发及实例(陆文周),现在完成了入库这一模块,后续预售模块/账号加密登录模块待完成

    1.首先在mysql workbench新建数据库并新建表格commodity ,category  ... 视图commodity_inf, 记得这两个表主键需要自增,非空

    2.连接数据库

    3.实现槽函数,在槽函数中实现从界面搜集信息通过QSqlQuery.EXEC执行SQL语句将数据插入表格。或者将表格视图关联到SQLTableModule, 将查询结果显示在QTableView中

    4.模拟下单事务过程,并通过QListWidgetItem添加入QListWidget

    工程代码:https://gitee.com/xianting77/eMarket.git ,欢迎大家意见指正。

    ps:编译遇到一个问题:一直循环报错:file“xxxxx”has modification times xxxxx s in the future..

    这是因为一个项目从一个电脑拷贝的到另一个电脑上时,两个电脑的时钟不一致所致,修改一下项目所在目录的修改时间即可:

     find /your/dir -type f -exec touch {} +

  • 相关阅读:
    rem 适配屏幕大小
    javascript实现多线程提升项目加载速度
    前端工程化、模块化、组件化见解
    Object.defineProperty方法
    js 冒泡排序
    git 如何生成 SSH 公钥
    奇数幻方
    最长公共子序列-动态规划
    Sping学习笔记_整合hibernate
    Sping学习笔记_AOP
  • 原文地址:https://www.cnblogs.com/7star/p/12293379.html
Copyright © 2011-2022 走看看