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://www.cnblogs.com/7star/p/12293379.html

时间: 2024-10-31 04:23:09

Modle/View/Delegate框架+QSqlQuery类实现QT和MYSQL交互的相关文章

QSplashScreen类实现Qt程序启动画面

QSplashScreen类实现Qt程序启动画面 收藏人:zwsj     2013-09-13 | 阅:569  转:6    |   来源   |  分享      程序启动画面一般用于显示软件信息(名称.作者.版权等)以及减少程序加载过程中的枯燥感. 在Qt中,可以通过QSplashScreen类来为应用程序添加一个启动画面,它会在应用程序的主窗口出现前显示一个图片,并且可以在图片上显示想要输出的信息. 下面是一个简单的例子: [cpp] view plaincopy #include <

【读书笔记《Android游戏编程之从零开始》】10.游戏开发基础(View 游戏框架)

对于玩家来说,游戏是动态的:对于游戏开发人员来说,游戏是静态的,只是不停地播放不通的画面,让玩家看到了动态的效果. 进入Android之前,首先要熟悉三个重要的类:View(视图).Canvas(画布).Paint(画笔).通过画笔,可以在画布上画出各种精彩的图形.图片等等,然后通过视图可以将画布上的内容展现在手机屏幕上. 其次要熟悉“刷屏”的概念.绘制在画布中的图像不管是图片还是图形,都是静态的,只有通过不断的展现不同的画布,才能实现动态的效果.在手机上,画布永远只是一张,所以不可能通过不断地

C++模板类与Qt信号槽混用

一.正文 目前正在做一个视频处理相关的项目.项目的技术栈是这样的,UI层采用Qt来实现基本的数据展示和交互,底层音视频采用的是一套基于FFmpeg的视频处理框架.这是一套类似Microsoft Media Foundation的处理框架,采用管道流进行架构,解复用.解码.复用.编码及用户自定义操作都采用Filter组件来实现,灵活度和可扩展性都比较好.(基本上常用音视频处理框架都采用了这一架构,如Microsoft Media Foundation, DirectShow Filter, gst

odoo 基于SQL View视图的model类

在做odoo的过程中,会涉及到多表的查询, 尤其是做报表的时候这种情况更甚,这样下来会做很多的关联,不是很方便.odoo提供了一种机制,即基于视图的model类.代码地址在这里. 具体过程如下: 1.建立model类mssql.employee 1 import logging 2 3 from odoo import models, fields, api 4 from odoo import tools 5 6 _logger = logging.getLogger(__name__) 7

利用delegate来解决类之间相互引用问题(引用死锁)

类之间相互引用--类A中需要调用类B中的方法,同时,类B中又要调用类A中的方法.(也被称为引用死锁,通常会出现编译错误). 解决方法是,在类A中引用类B,并使类A成为类B的delegate,这样在类A中就可以调用类B中的方法,而在类B中可以设一个delegate属性,(这个delegate其实就是类A)就可以用[delegate msg]的方式来调用类A中的方法了. 具体实现如下: ** classA.h : @interface ClassA<ClassBDelegate> { ClassB

PHP CI框架email类发送邮件

用CI框架发送邮件类 在中文标题太长的情况下会出现乱码,搜索后说是发送邮件的时候有标题长度的限制,按说的方法修改后,还是没能得到解决,后来发现需要转换邮件标题的编码,解决方法如下: 打开 libraries/Email.php  找到:function subject($subject) public function subject($subject) { $subject = $this->_prep_q_encoding($subject); $this->_set_header('Su

[转载]iphone开源框架和类

原文地址:iphone开源框架和类作者:天风 使用的开源框架和类: 1:SDWebImage,UIImageView+WebCache加载一张图片. 2:UIViewExt用于定位坐标很有用,可以直接拿到bottom,top,left,right. 3:CustomCatagory,是个类目,里面有navigationBar和UINavigationController的两种系统版本下自定义navigationBar背景图片方法,用于自定义navigationBar背景图片. 4:UIUtils

黑马程序员——黑马基础——Map,集合框架工具类Conlections和Arrays

黑马程序员--黑马基础--Map,集合框架工具类Conlections和Arrays ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一,Map集合 Map<K,V>集合是一个接口,和List集合及Set集合不同的是,它是双列集合,并且可以给对象加上名字,即键(Key). 特点: 1)该集合存储键值对,一对一对往里存 2)要保证键的唯一性. Map集合的子类 Map |--Hashtable:底层是哈希表数据结构,不可以存入null键nu

Django框架视图类

类视图 在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图.使用类视图可以使用类的一些特性,比如继承等. View django.views.generic.base.View是主要的类视图,所有的类视图都是继承自他.如果我们写自己的类视图,也可以继承自他.然后再根据当前请求的method,来实现不同的方法.比如这个视图只能使用get的方式来请求,那么就可以在这个类中定义get(self,request,*args,**kwargs)方法.以此类推,如果只需要实现post方法