QT学习之商品管理数据库.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
QT学习之商品管理数据库

实验过程该实验分为3个部分,商品管理,销售统计,和修改密码。商品管理:  在程序运行时,已经建立了商品销售的数据库,该数据库分为3个表,品牌表,分类表,密码表。分类表中有2个产品类别,为电视和空调。品牌表中对应的电视有4个品牌,空调有2个品牌,这2者初始化时已经有了库存信息,即商品的单价,剩余商品的数量等。密码表中设置了初始化密码,初始密码为”2012”。与此同时也建立xml来存储数据,里面有日销售清单,还设置了销售日期,时间,品牌的信息,供后面销售完毕后来进行查询和存储。  在商品管理页,选择对应的品牌,类型,和打算卖出的数量,则软件会自动计算卖出的总额和剩余对应产品的数量。单击售出的确认按钮后,右边的页面会显示销售的记录,其中的信息包括销售时间,日期,品牌的数量,价格等等。销售统计:  销售统计这一栏用表格和饼图来显示销售产品数量的分布情况。可以在销售统计右侧的下拉列框中选择电视和空调2个类型中的一个,然后左侧的表格会显示品牌和销售数量2个量,品牌左侧有不同颜色的小方框显示。右侧显示的是其对应的饼图,饼图旁边有小方框显示不同颜色代表不同的销售商品。在左边的表格中单击表格单元格,可以看到右边饼图对应的那一个扇形的颜色更改了。销售统计中显示表格和饼图需要重写QAbstractItemView类中的很多函数,其中不少函数没有自己去敲代码,直接赋值过来的。密码更改:  在密码更改页中,可以修改登录密码,新密码需要2遍确认,这些操作都与普通的更改密码操作类似。修改后的密码会被保存在sqlite数据库中。实验说明  界面设计时的小技巧:  1.如果把控件放在布局文件中,那么该控件自身的尺寸和控件之间的几何量会被自动改变,因为这些都是交给了布局文件来管理。那么怎么做到将设计好了的控件放入布局文件后不改变这些几何变量呢?首先,如果需要固定控件之间的距离量,可以加入弹簧;其实,如果需要固定控件的几何尺寸,可以在Qt Designer中控件的属性栏的minimumSize和maximumSize两个栏中都设置为同样大小。这样即使控件放入布局文件中,也不会更改它们本身的几何量了。  2. 如果需要把各控件按照自己的习惯排布好,而这时不打算使用布局文件(因为布局文件会自动改变控件的大小),这时可以采用一个Stack Widget,让其它的控件任意形状放入其中。  3. 分割器并不单单指的中间一条分割线,而是指的包括分割线2侧的widget,即可以理解为一个矩形,它也有长和宽。?  数据库中的一些小知识:  数据库的一些语法中,有些地方需要加单引号,这个不能漏。  PRIMARY KEY 约束唯一标识数据库表中的每条记录;主键必须包含唯一的值;主键列不能包含 NULL 值;每个表都应该有一个主键;并且每个表只能有一个主键。  QSqlQuery这个类是用来查询sql数据库的类;QSqlDatabase是用来创建数据库的类;  事务操作是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的操作。在Qt中事务操作时以transaction()开始的,以commit()函数或者rollback()函数进行结束的。这两者的区别是commit()表示提交,即把事务中所有对数据库的更新写到数据库,事务是正常结束的。Rollback()表示回滚,即如果事务运行过程中发生了某些故障,事务不能继续进行,则系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始的状态。  QSqlDatabase::database()返回前面成功连接的QSqlDatabase对象。XML使用小知识点:  对XML文档的操作有2种方法:DOM和SAX。其中DOM是把XML文档转换成应用程序可以遍历的树形结构,这样便可以随机访问其中的节点。缺点是需要把整个XML文档读入内存,这样消耗内存会很大。  tagName 属性返回被选元素的标签名。  这次实验通过代码来建立一个xml文件,主要是用到了QDomDocument这个类中的很多方法,xml文件有点类似树形结构,本次实验最初始建立的xml文件内容截图如下:  Qt使用一些小知识点:  QString::number(num)可以将整型的num转换成string型。  qreal 其实就是double型。  往QListWidget加入文字可以使用其addItem()方法.  arg()中的参数是QString型,则其对应的百分号需要用单引号括起来。  Qt::DecorationRole是Qt::ItemDataRole中的一种, Qt::ItemDataRole表示每一个model中的Item都有自己的一个数据集,且有自己的特色。这些特点用来指定模型中的哪一种数据类型将被使用。而Qt::Decoratio

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档