![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
文章平均质量分 78
ICE2302
记录分享学习过程
展开
-
QT实现连接MySQL数据库以及查询等操作
写的时候发现每个表都需要使用数据类型(一维数组、哈希表、二维数组等)进行存储,而且基本上每涉及一个表就需要单独对这个表写增删改查之类的函数,这样造成了非常大的代码冗余,非常臃肿,但是目前我还没有想到什么办法能减少这种冗余简化代码,有一种方法是把数据库中的表对应的在qt中建立数据类,在类中建立对应表中表项的数据类型,之后查询到的数据对应的放到相应的类中,但是这样只是结构清晰了很多但是使用的内存空间还是同样大甚至更多。运行不成功的可能是MySQL数据库的动态库没有导入,可以看一下。来创建数据库对象,使用。原创 2023-07-27 09:00:00 · 6449 阅读 · 0 评论 -
QT读写ini文件
因此,settings.value(“client/user”).toString()的意思是从QSettings对象中获取"client/user"配置项的值,并将其转换为QString类型,以便在后续的代码中使用或进行其他操作。到之后发现其实并没有什么用,因为my.ini文件中默认是没有user和password项目的看网上说是老版本遗留下来的,我个人觉得它的作用可能就是改一下端口号,然后电脑可以同时存在两个版本的数据库,当然了可以自己填上去,然后到时候直接读也可以。原创 2023-07-26 09:00:00 · 299 阅读 · 0 评论 -
qt打包发布项目
但是需要注意的一点就是,如果自己的项目在开发时使用了第三方库,比如说使用了mysql数据库,又或者是音视频处理的库,这个时候在打包完成后需要在.exe所在的文件夹中加上libmysql.dll动态库文件或者其他的动态库文件,这个时候才能运行成功。执行完毕之后打开原本只存放exe的文件夹,就发现出现了很多其他的文件,这个时候点击.exe文件运行,自己的项目就运行成功了。首先在左下角的把项目模式从常用的Debug模式改成Release模式,同时记住自己的构建套件,我这里用的是mingw64位。原创 2023-07-24 09:00:00 · 245 阅读 · 0 评论 -
QTableWidget设置可展开可收缩
因为一开始有这个需求要写这个,因为我才开始学,还搞了挺长时间的。觉得不能白写,就写出来,效果我觉得还行。槽函数写成lambda表达式了,因为只用一次,没什么写成有名函数的必要。里面的图片路径设置成自己就可以,尺寸什么的我也是设置成固定的了,当然如果更熟悉布局或者习惯用布局的,还是推荐用布局,我用固定尺寸是因为比较好看到效果,要是qt可以像DW一样不用每次运行就可以看到实时改变就好了。这个QTableWidget的效果是:初始状态只显示两行,但是可以通过鼠标滑动查看之后的表格数据。下面是添加表中信息的。原创 2023-07-20 09:00:00 · 481 阅读 · 0 评论 -
QT:问题、解决与原因
部分。原因:不明。原创 2023-07-18 20:17:04 · 1741 阅读 · 0 评论 -
实战记录01(QT连接MySQL显示未加载问题解决)
在之后请教了前辈:把QT+=mysql和lib以及includePath从文件中去掉,把mysql驱动的动态库文件添加到qt对应的目录中,我的目录是:…\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers,动态库文件我放到我的GitHub对应的仓库中了,有需要的小伙伴可以去。在添加上Mysql connector C++和MYSQL的lib和includePath,然后报错是未知的模块:mysql,再之后就怎么折腾都连接不成功。如果想看完整的代码,我也上传到。原创 2023-06-01 09:00:00 · 622 阅读 · 0 评论 -
初学QT(Day05)
相比于第一个demo,提升了鼠标和子控件的配合的灵敏度,同时保证了在鼠标出界的时候,子控件是保持在父窗口中的,同时依然在qt的应用程序输出窗口输出手柄的坐标。实际上还有很多问题,时间太长没办法全部记起来,但是重要的地方都记下来了,本来打算明天做一个圆形的手柄,但是今天又发了新任务,感觉难度比较大,可能没时间写了,如果想查看源码练手欢迎访问我的github主页,这是我练习qt的。总结了之前的经验教训,我重新开一个项目项目,先给出demo的结果吧,第一张是第一次写的demo,第二张图是成品的demo。原创 2023-05-30 09:00:00 · 320 阅读 · 0 评论 -
初学Qt(Day04)
使用x,y的变化的差,在当鼠标被点击的时候connect执行并且记录这个时候的鼠标(窗口)的位置,设置为初始位置,触发槽函数,把鼠标的释放作为出发定时器stop的标志,这个时候执行槽函数中的操作,之后松开鼠标,槽函数执行完毕,这个时候就相当于松开鼠标了,再重新设置手柄控件的位置(setGeometry()函数)为初始位置。因此,在Qt中,重绘事件的处理是通过paintEvent()函数来实现的,它是QPaintDevice类的虚函数,必须在子类中进行重写和实现。Qt中的重绘与其他事件处理是有所不同的。原创 2023-05-27 09:00:00 · 685 阅读 · 0 评论 -
初学Qt(Day03)
这样程序就进入到了这个子窗口的构造函数中,构造函数中初始化了一个存放七个颜色的Label数组,分别代表彩虹的七种颜色。然后分别初始化这七个元素,使用布局将这七个颜色放到一起,目的是可以达到七个颜色一起滚动的效果,然后在为定时器分配完内存之后就可以在槽函数中设置重复动作了,因为我当时设置的是向上滚动,事实证明这的确是最省力的hhhh,然后使用一个计数器,每次执行一次函数就自增1,然后对这个计数器模6取余,这样就可以使用数组下标对布局中的Label进行设置了。忘记了计时器的槽函数是一个重复执行的函数。原创 2023-05-26 08:00:00 · 1306 阅读 · 0 评论 -
初学QT(Day02)
今天又是学到很多的一天啊!原创 2023-05-25 15:00:00 · 554 阅读 · 0 评论 -
初学QT:使用QtDesigner绘制一个简单的界面(Day01)
我一开始因为不知道有Layout这个东西,也不知道Layout是做什么用的,到了做完了构建完了运行之后才发现,主窗口用鼠标缩放的时候,里面的控件没有办法随着窗口变化而变化,看起来非常不美观,之后查了资料才发现Layout这个控件,这个的作用就是固定一个布局,不管主窗口大小怎么变化,布局中的控件之间的相对位置是不变的,同时这样也省去的很多时间,而且因为qt是使用C++开发的,所以类的继承与派生也是适用的,比如果有一个控件FWidget,这个控件中还有几个控件SWidget1、Swidget2…原创 2023-05-24 08:00:00 · 2331 阅读 · 4 评论