
Qt/C++
Star星屹程序设计
编程新手,个人记笔记,方便日后看,很多东西记着只是为了自己方便。。喷子请绕道!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
GraphicsView使用(待完善)
QT4.2开始引入了Graphics View框架用来取代QT3中的Canvas模块,并作出了改进,Graphics View框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能。GraphicsView框架结构主要包含三个主要的类QGraphicsScene(场景)、QGraphicsView(视图)、QGraphicsItem(图元)。Q...原创 2020-04-21 13:10:49 · 1133 阅读 · 0 评论 -
Qt5帮助文档无法打开的解决方案
安装Qt5以上版本后,发现帮助文档打不开,或者光标放在对应类上按下F1跳不到帮助界面,解决办法如下:1、打开Qt,打开工具栏中的"选项"2、点击“帮助”,选择"添加"按钮3、在打开的Qt安装目录中,选择所有后缀为qch的文件,选中后,点击“打开”4、点击“更改”,以使得应用更改,正常来说此刻就可以正常查阅帮助文档了,如果不行,重启一下Qt...原创 2020-04-19 07:15:00 · 2180 阅读 · 0 评论 -
Qt中添加图标
1、新建一个.rc文件,“新建文件”---“C++ source File”---命名为logo.rc(不能掉了rc后缀)。2、在文件内部添加IDI_ICON1 ICON DISCARDABLE "sdn.ico"3、在工程文件中添加:RC_FILE += logo.rc...原创 2020-04-09 22:17:20 · 697 阅读 · 0 评论 -
Qt中修改UI文件后运行界面不同步
问题出现的原因所在:目前,Qt程序所用的UI文件不是最新的状态解决方法:1、取消影子构建,此后构建目录与源码处于同一目录,每次编译更新程序使用的UI文件2、在.pro文件中添加代码: UI_DIR=./UI指定UI文件所在目录为当前使用的程序目录,并每次编译更新UI文件...原创 2020-02-05 21:24:27 · 2358 阅读 · 0 评论 -
Qt中json的使用
1、需引入的头文件#include <QJsonObject> //json对象类,用于数据传输的对象,类似于map的键值对#include <QJsonDocument> //json文档#include <QJsonArray> //json数组,可以放标准数据类型,也可以放json数据注:json的兼容性很好,目前网络中传输数据绝...原创 2020-01-02 10:47:27 · 790 阅读 · 1 评论 -
Qt数据库操作
装Qt时,需要把数据库的动态库拷到Qt安装路径的bin目录下(libmysql.lib和libmysql.dll)注:1、在生产环境中,数据库操作类也需要写成单例模式; 2、涉及到多线程数据库操作,需要加锁 3、生产中,一般用PowerDesigner进行数据库的前期设计1、在工程文件下,添加QT += sql2、使用数据库操作,必须添加的几个类#...原创 2020-01-02 09:31:03 · 551 阅读 · 1 评论 -
Qt网络通信优化
1、使用此通信流程,可以简化处理逻辑2、数据传输目前数据传输主要使用Json去传输,使用到Qt中的<QJsonObject>类,该类相当于一个容器,里面可以存储多个键值映射数据iterator insert(const QString &key, const QJsonValue &value)使用上述方法往Json中添加数据。注:QJ...原创 2019-12-31 18:53:14 · 815 阅读 · 1 评论 -
Qt项目客户端Socket唯一性的实现
此问题的解决方案是:使用C++设计模式中的单例模式进行实现。单例模式(Singleton Pattern)是C++设计模式中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例模式需要确保类对象...原创 2019-12-31 15:02:30 · 949 阅读 · 0 评论 -
<QTcpServer>、<QTcpSocket>的扩充
重写<QTcpServer>、<QTcpSocket>的原因:重写QTcpSocket的好处:可以按照自己的业务需要添加自己所需的成员注:建立socket时,就把常用的信息缓存在socket中,省去了频繁请求数据库的操作。注:重写<QTcpSocket>后,<QTcpServer>也就必须重写在做中大型的项目时,使用到网络内容时,建议...原创 2019-12-31 14:51:06 · 408 阅读 · 0 评论 -
Qt问题解决:QMYSQL driver not loaded
QT 连接 mysql的时候,遇到了如下错误QMYSQL driver not loaded1、问题分析:QT要成功连接mysql,需要3个dll文件配合QT:qsqlmysql.dllqsqlmysqld.dllmysql:libmysql.dll2、解决问题:把mysql安装路径的 libmysql.dll 拷贝到qt的安装路径...原创 2019-11-13 15:53:31 · 363 阅读 · 0 评论 -
Qt Creator报错:Cannot retrieve debugging output
在写代码时,运行后出现Cannot retrieve debugging output报错问题:是因为同时开了多个Qt Creator,只有第一个Qt Creator可以接收大到debugging output后续打开的Qt Creator无法接收debugging output...原创 2019-11-05 19:46:30 · 445 阅读 · 0 评论 -
Qt Tcp通信中connect多次调用
QT在设置信号与槽的时候出现执行两次槽函数修改方法:将 connect(ui.messageButton,SIGNAL(pressed()),this,SLOT(on_messageButton_clicked()));更改为:connect(ui.messageButton,SIGNAL(pressed()),this,SLOT(on_messageButton_clicked(...原创 2019-10-28 20:10:11 · 1320 阅读 · 0 评论 -
Qt打包软件
1、先生成Release版本的可执行程序,在任意路径创建Setup目录,把release版本的可执行程序拷贝到该目录下,然后启动可执行程序,会提示需要依赖库,去Qt下载路径下bin中查找注:红框内依赖库为必须使用的库2、加入平台支持的库(放在Qt安装路径下的plugins目录下)3、使用NisEdit软件生成安装向导脚本注:内部选择安装语言,程序图标等!4、重要的一...原创 2019-10-07 15:17:30 · 435 阅读 · 0 评论 -
Qt设置应用图标
1、在帮助文档种搜索setting,找到对应平台的配置方法2、在工程目录下(.pro所在目录),添加需要使用的图标3、在.pro文件种添加相应的内容原创 2019-10-07 12:00:47 · 596 阅读 · 0 评论 -
Qt实现五子棋准备
一、第一步要进行的就是简单界面的设计,这里需要用到Qt中绘图类的使用,在做五子棋时的要求1、设计时,widget的尺寸定为600 x 600,在Qt类中的实现void MyGoBang::paintEvent(QPaintEvent *){ QPainter p(this); p.setPen(QColor("#8D5822")); p.setBrush(Q...原创 2019-10-01 20:56:29 · 838 阅读 · 0 评论 -
Qt时钟练习
Qt是时钟练习就是对事件简单的使用:Widget类头文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTimer>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpubl...原创 2019-07-31 08:47:16 · 385 阅读 · 0 评论 -
SqLite数据库
SqLite数据库作为本地数据库,经常用于嵌入式开发,用时必须在本地建立数据库!建库步骤:1、在项目要求路径下建立数据库文件 *.db2、使用Navicat连接数据库,使用1中创建的 .db 加载数据库3、加载所需的数据库脚本文件.sql注:在使用sqllite时,*.db文件对应的就是本地数据库!!!...原创 2019-08-05 21:24:32 · 326 阅读 · 0 评论 -
学籍管理系统——文件版
一、自定义学生信息类头文件////////////////////////////////.h////////////////////////////////////////#ifndef __STUDENT_INFO_H#define __STUDENT_INFO_H#include <iostream>#include <QList>#includ...原创 2019-08-05 21:29:24 · 850 阅读 · 1 评论 -
数据库版——学籍管理
本次程序中使用的时sqlite数据库一、学生信息类头文件#ifndef __STUDENT_INFO_H#define __STUDENT_INFO_H#include <iostream>#include <QList>#include <QString>using namespace std;class StudentInfo...原创 2019-08-06 09:24:01 · 573 阅读 · 0 评论 -
Qt网络编程基础——tcp简易通讯
首先列出Qt中Tcp通信的流程图:1.QT下的服务端1).socket函数变为QTcpServer2).bind ,listen 统一为listen同时没有accept,当有一个链接过来的时候,会产生一个信号:newconnection,可以从对应的槽函数中取出建立好的套接字(对方的)QTcpSocket如果成功和对方建立好链接,通信套接字会自动触发connected信号...原创 2019-08-06 09:29:05 · 804 阅读 · 0 评论 -
可视化数据库操作
在Qt中,可视化操作用到了设计师designer中的view类,用于显示的处理数据,用已有的框架快速进行数据处理!!!本环节主要是<QSqlTabelModel>头文件的使用:1、select()接口主要是打印所选库中的数据,相当于使用sql语句:select * from student_info;简单代码介绍:头文件:#ifndef WIDGET_H#def...原创 2019-08-06 11:15:45 · 24237 阅读 · 0 评论 -
Qt_QTimer定时器结合线程的简单使用
<QTimer>:The QTimer class provides repetitive and single-shot timers.本次练习使用LCD简单记录时间,利用线程设定一段具体时间后关闭定时器,两者各做各的事,互不影响简单展示:定时器类:头文件:#ifndef WIDGET_H#define WIDGET_H#include <QWidg...原创 2019-08-06 11:27:20 · 1928 阅读 · 0 评论 -
Qt中的tr
函数 tr()全名是QObject::tr(),被它处理的 字符串可以 使用工具提 取出来翻译 成其他语言, 也就是做国际化使用。只要记住,Qt 的最佳实践:如果你想让你的程序国际化的话,那么,所有用户可见的字符串都要使用 QObject::tr()!但是,为什么我们没有写 QObject::tr(),而仅仅是 tr()呢?原来,tr()函数是定义在 Object里面的,所有使用了 Q_O...原创 2019-08-15 11:30:36 · 728 阅读 · 0 评论 -
Qt中model和view的关系
model和view的前身,是MFC的文档和视图框架。就是把显示数据和管理数据分开来处理。MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MV...原创 2019-08-20 15:59:36 · 1106 阅读 · 0 评论 -
Qt中使用第三方库
在Qt中使用第三方库的方法:(以MySQL举例)1、windows下格式://.proLIBS += -LD:\mysql\lib -llibmysql//头文件引入#include <C:/mysql/include/mysql.h>意思是:使用D:\mysql\lib 目录下的libmysql.dll 这个动态链接库。2、Linux下格式://.pr...原创 2019-08-20 18:54:26 · 1014 阅读 · 0 评论 -
Qt_TCP案列——文件传输器
首先展示本案列的具体实现流程:注:在文件传输案列中,容易出问题的地方是:数据黏包问题,即因发包前后时间过短,造成文件头信息数据包和具体内容数据包连在一起造成数据紊乱在本案列中,我的解决方法是:使用<QTimer>类对头包和数据包进行时间上的隔离,因时间间隔很小,不会对整体流程造成影响。一、具体代码展示1、服务器端头文件#ifndef WIDGET_H#de...原创 2019-08-16 14:41:23 · 390 阅读 · 0 评论 -
Qt网络编程基础——UDP简易通讯
首先展示UDP通信中的流程:一、具体代码展示1、两端通信只需要通信两端同时使用<QUdpSocket>内提供的socket进行通信即可,无服务器和客户端之分头文件:#ifndef UDPSERVER_H#define UDPSERVER_H#include <QWidget>#include <QUdpSocket>namesp...原创 2019-08-16 14:57:09 · 503 阅读 · 0 评论 -
Qt_tcp_udp
1、Qt_TCP运行流程2、Qt_UDP运行流程3、Qt_TCP应用_文件传输流程原创 2019-08-03 10:36:45 · 323 阅读 · 0 评论