Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by QFile file
【qt】考试系统项目-CSDN博客
话不多说,先一睹芳颜 咱们的账号,题库和答案都是通过文件获取的. 话不多说,直接开干 一.登录窗口 这里添加背景图片. 密码输入模式和提示语句. 注意:背景图标放在的标签必须要第一个,不然会盖住其他组件. 用正则表达式来进行判断. 第一行读取的话,要跳过,我们不用. 中间有多个空格,所以我们可以使用正则表达式来进行匹配来获取子串. 如果循环完都没有找到就说明我们输入的账号有问题,所以这个是循环读取外面加的. 二.题库窗口 需要用到计时器 每隔一秒,我们就发出timeout()这个信号. 然后计算分秒来设置在窗口的标题上. 对窗口进行一点的渲染. 这是一个神器,当我们用代码来写组件的时候,有了它,你可以高枕无忧的布局. 下面我们布局组件的时候可以来看布局管理器怎么使用. 定义了这个来保存我们的答案,方便我们后面计算分数. 添加到组件上,并使用布局管理器. 第一个参数是要添加布局的组件 第二三个参数是这个组件的位置,可以把布局管理器理解成一个表格,从0行0列开始 第四五哥参数是这个组件所占的行数和列数. 用的组件数组来初始化. 初始化单选题的时候,我们要进行分组,这样才可以每个题选一项. 同时添加到布局管理器中.
QT串口调试助手V2.0(源码全开源)--上位机+多通道波形显示+数据保存(优化波形显示控件)-CSDN博客
首先关于Qt的安装和基本配置这里就不做重复说明了,注:本文在Qt5.14基础上完成 完整的项目开源仓库链接在文章末尾 图形控件——qcustomplot QCustomPlot是一个基于Qt框架的开源绘图库,用于创建高质量的二维图表和数据可视化。 QCustomPlot的主要功能: 绘制多种图表类型:包括折线图、散点图、柱状图、面积图 交互性:支持图表的缩放、平移、数据点选择等交互操作 多轴支持:可以在图表中添加多个X轴和Y轴,以便绘制复杂的多轴图表 定制化:提供丰富的样式和属性设置,用户可以自定义图表的外观,包括颜色、线条样式、标记 高性能:针对大数据量绘图进行了优化,能够处理大量数据点而不影响性能 主要组件: QCustomPlot:主绘图控件,所有的绘图操作都在这个控件上进行。 QCPGraph:用于绘制常见的折线图和散点图。 QCPAxis:表示图表的轴,可以自定义轴的范围、标签、刻度等。 QCPItem:图表中的各种辅助元素,如直线、文本标签等。 QCPPlottable:可绘制对象的基类,所有具体的绘图类型都继承自这个类。 该控件使用方法...
QT 音乐播放器【二】 歌词同步+滚动+特效
效果图 概述 先整体说明一下这个效果的实现,你所看到的歌词都是QGraphicsObject,在QGraphicsView上绘制(paint)出来的。也就是说每一句歌词都是一个图元(item)。 为什么用QGraphicsView框架? 在做歌词滚动效果时,我看网上实现这一效果基本上都是用QLabel,这样或许简单很多,但是效果单一,且不够灵活。使用图形视图这套,图形项可以自由地被移动、缩放、旋转和编辑。当然主要还是为了提升自己,可以更熟悉这套框架。 如何解析歌词? 这里解析的是lrc文件为一般的歌词文件,格式如下:格式是固定的,那么就可以通过正则表达式来解析。然后存放在一个QMap中,key是时间,value是歌词。 [02:08.496]乌蒙山连着山外山 [02:11.138]月光洒下了响水滩 [02:13.993]有没有人能告诉我 [02:16.487]可是苍天对你在呼唤 如何同步歌词?...
Qt 科目一考试系统(有源码)-CSDN博客
项目源码和资源:科目一考试系统: qt实现科目一考试系统 一.项目概述 该项目是一个基于Qt框架开发的在线考试系统,主要实现了考试题目的随机抽取、考试时间限制、成绩统计等功能。用户可以通过界面操作进行考试,并查看自己的考试成绩。 二.技术栈 Qt框架、C++语言、GUI设计、数据结构、算法等。 三.界面展示 四.代码展示 整体项目共分为两个部分,登录界面和答题界面,登录界面使用的qt设计器进行手动设计,登录界面核心的点在于使用正则表达式对已有账号进行分析,答题界面核心则是对文件中的试题进行处理。 #ifndef LOGINDIALOG_H #define LOGINDIALOG_H #include <QDialog> QT_BEGIN_NAMESPACE namespace Ui { class LoginDialog; } QT_END_NAMESPACE class LoginDialog : public QDialog { Q_OBJECT public: LoginDialog(QWidget *parent = nullptr); ~LoginDialog();...
QT笔记--QProcess学习
我们常常想通过某一个类,来启动一个外部进程 本文将讲解如何通过QProcess来进行启动外部进程 一:了解QProcess QProcess是Qt框架提供的一个类,用于在应用程序中执行外部进程。它提供了一系列函数来启动、控制和与外部进程进行交互 1.启动进程的方式: (1.1)分离式:外部程序启动程序后,主程序退出时,被调用的进程继续执行,不退出 [static] bool QProcess::startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory = QString(), qint64 *pid = nullptr) (1.2)一体式:当主程序退出时,被主程序调用起来的进程也退出 start还有其他的重载的函数,下面是其中一个 void QProcess::start(const QString &program, const QStringList &arguments, QIODevice::OpenMode mode =...
OpenGL Assimp加载各类型模型(.obj、.fbx、.glb、.3ds)
1.简介 本博客以.glb格式为例,加载glb格式的3d模型,网上找了一圈,基本上都是根据OpenGL官方示例,加载.obj格式的3d模型。 下面以.obj和.glb格式的3D模型简单介绍一下。 常见的.obj格式的3D模型如下所示:纹理都已经被剥离出来了。所以在使用Assimp库加载的时候,加载了指定的路径即可。 但是.glb格式的3D模型如下所示,就只有一个glb文件,纹理嵌入到模型当中,假如我们使用Assimp库去加载的时候,能够加载出模型,但是加载出来的效果全是黑的,加载不了纹理。 加载的效果如下图所示,黑的一片。 原因分析:找不到纹理路径。 2.解决方法 将纹理分离,保存到本地文件,加载本地纹理文件。 首先通过ReadFile,读取本地文件,返回aiScene。 获取纹理数量:scene->mNumTextures。 获取当前的纹理:aiTexture* texture = scene->mTextures[i]。 然后看一下aiTexture官网文档介绍。 /** Width of the texture, in pixels * * If mHeight is...
QT tcp与udp网络通信以及定时器的使用 (7)
QT tcp与udp网络通信以及定时器的使用 1、QT网络与通信简单介绍 QT5提供了一套完善的网络模块,包括了TCP、UDP、HTTP等协议的支持,可以方便地在QT应用程序中进行网络通信。通过QT5的网络模块,开发者可以实现客户端和服务器之间的数据传输、消息推送、远程控制等功能。 Qt中提供的所有的Socket类都是非阻塞的。 Qt中常用的用于socket通信的套接字类: QTcpServer 用于TCP/IP通信, 作为服务器端套接字使用 QTcpSocket 用于TCP/IP通信,作为客户端套接字使用。 QUdpSocket 用于UDP通信,服务器,客户端均使用此套接字。 QSslSocket 用于实现安全的网络通信、 QWebSocket 用于实现WebSocket协议的通信等。 下面是继承关系: 2、QT TCP通信 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为:TCP)是一种面向连接的、可靠的、基于字节流的通信协议。分为服务器与客户端。 总体双方的流程如下:...
基于QT实现发送http的get和post请求(post还可以实现上传文件),同时实现接收返回json数据,并对其进行解析_smilehjl的博客-CSDN博客
使用到中重要的类,做个简单的介绍 QNetworkAccessManager:这个类是QT帮我们封装好的工具类,主要可以用来发送Http请求 QNetworkReply:这个类主要用来监听发送的请求,并得到请求的响应结果 QHttpMultiPart:这个类主要用于封装post请求的二进制参数的数据 QEventLoop:这个类是一个控制事件 QJsonDocument:这个类用于解析JSON 头文件: #ifndef HTTPTEST_H #define HTTPTEST_H #include <QObject> #include <QDebug> #include <QHttpMultiPart> #include <QNetworkAccessManager> #include <QNetworkReply> #include <QMetaObject> #include <QEventLoop> #include <QJsonDocument> //以下是json数据传送所需头文件 #include <QJsonParseError> #include...
QT DAY4_Y-O-Y的博客-CSDN博客
消息对话框、字体对话框、颜色对话框、文件对话框 1.1消息对话框 主要分为这四类对话及一种NoIcon无图标对话 而对话框也分为两种实现方式,一种为基于属性分开初始化的方式,这种方式更灵活,更多元,需要对exec的返回值进行判断才能得知是点击哪个按钮,需要写出exec进入执行态 QMessageBox::QMessageBox( //有参构造函数名 QMessageBox::Icon icon, //图标 const QString &title, //对话框标题 const QString &text, //对话框提示信息文本 QMessageBox::StandardButtons buttons = NoButton, //对话框提供的按钮 QWidget *parent = nullptr) //父组件 参数1的介绍:是对话框提供的图标 内容 值 描述 QMessageBox::NoIcon 0 没有任何图标的对话框 QMessageBox::Question 4 带一个问号的对话框 QMessageBox::Information 1 带一个i符号图标的对话框...
Qt中XML文件创建及解析_风棂的博客-CSDN博客
QT的配置文件中添加xml选项: 头文件:#include <QXmlStreamWriter> bool MyXML::writeToXMLFile() { QString currentTime = QDateTime::currentDateTime().toString("yyyyMMddhhmmss"); QString fileName = "./testWrite.xml"; QFile file(fileName); //QIODevice::Truncate 以重写的方式打开,在写入新的数据时会将原有数据全部清除 if(!file.open(QIODevice::WriteOnly | QIODevice::Text |QIODevice::Truncate)){ qDebug()<<"open xml file failed!"; return false; } QXmlStreamWriter write(&file); //设置自动格式化,包括自动换行缩进等 write.setAutoFormatting(true);...
Qt文件系统操作和文件的读写_Fuxiao365的博客-CSDN博客
QIODevice:所有输入输出设备的基础类 QFile:用于文件操作和文件数据读写的类 QSaveFile:用于安全保存文件的类 QTemporaryFile:用于创建临时文件的类 QTcpSocket和QUdpSocket:分别实现了TCP和UDP的类 QSerialPort:实现串口通信的类 QBluetoothSocket:用于蓝牙通信的类 QProcess:用于启动外部程序,并且可以给程序传递参数 QBuffer:以一个QByteArray对象作为数据缓冲区,将QByteArray对象作为I/O设备来读写 QCoreApplication:可提取应用程序路径、重命名等信息:QT QCoreApplication 类_qcoreapplication 退出_hongdou9a9的博客-CSDN博客 QFile:可进行文件的复制、删除、重命名等操作 QFileInfo:用于获取文件的各种信息,如文件的路径,基本文件名,文件名后缀,文件大小等 QDir:用于目录i信息获取和目录操作,如新建、获取。删除目录下的文件或子目录等...
QT处理日志文件_Helloorld_1的博客-CSDN博客
由于实际生产需要,软件系统的运行,会产生大量的日志文件,有时候一天就能产生超过百万条log记录,那么为了能够处理日志文件,查询并且找到我们想要的报错信息,因此不得不考虑怎么实现,打开大日志文件的可行方法。 在这里我采用的是内存映射的方式去读取文件的日志信息。代码部分如下所示: QFile file(big_path); qint64 fileSize = file.size(); // 获取文件的大小 uchar *data = file.map(0, fileSize); // 将文件的全部内容映射到内存中,返回一个指向该内容的指针 file.close();//文件的关闭不会影响到我们后续的内存映射部分。 if (data) { // 如果映射成功 QElapsedTimer timer; timer.start(); message.clear(); QString text = QString::fromUtf8((char *)data, fileSize); file.unmap(data); // 取消映射...
Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递_长沙红胖子Qt的博客-CSDN博客
长沙红胖子Qt 已于 2023-06-16 12:46:55 修改 1047 收藏 于 2023-06-09 11:17:38 首次发布 版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。 若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131122772 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中… 上一篇:《Qt+QtWebApp开发笔记(四):http服务器使用Session和Cookie实现用户密码登录和注销功能》 下一篇:《Qt+QtWebApp开发笔记(六):http服务器html实现静态相对路径调用第三方js文件》 前面完成了页面的跳转、登录,很多时候不刷新页面就想刷新局部数据,此时ajax就是此种技术,且是异步的。 本篇实现网页内部使用js调用ajax实现异步交互数据。 在js中使用...
利用qt实现机器人可视化界面,并在界面上控制机器人各个关节运动_qt机械臂_ZLW07的博客-CSDN博客
本工程借助于clion配置的qt环境,同时依赖eigen tinyxml2等开源库,也借鉴了博客上一些文章,具体哪些忘记了,十分抱歉。本工程仅供参考。机械臂模型为史陶比尔官网的TX2-60L-HB。可以去那下载对应的stp文件。 最终图: 通过鼠标中键控制旋转 缩放,配合ctrl进行平移。加载模型文件路径是xml文件:书写类似于这种 <?xml version="1.0" encoding="UTF-8"?> <root> <Joint>../Mo/1.STL</Joint> <Joint>../Mo/2.STL</Joint> <Joint>../Mo/3.STL</Joint> <Joint>../Mo/4.STL</Joint> <Joint>../Mo/5.STL</Joint> <Joint>../Mo/6.STL</Joint> <Joint>../Mo/7.STL</Joint> <Joint>../Mo/1.STL</Joint> </root>...
用QT/C++写一个简易文本编辑器
分享 生成长图 转Word 打印 朗读 全屏 修改 转藏+1 用QT/C++写一个简易文本编辑器 山峰云绕 2023-05-02 发表于贵州 | 转藏 大 中 小 学习QT的小练习,先看一下目前实现的效果。 功能: 编辑文本保存为txt。 打开一个txt文本文件,可编辑可保存。 文本编辑功能:剪切,复制,粘贴,加粗,斜体,下划线,设置颜色,字体。 要点: QT Designer的UI可视化设计:基本控件布局,资源导入,菜单&动作,信号&槽的配置; QT信号和槽的机制:可视化配置以及代码手动连接,实现槽函数; plainTextEdit控件相关:展示文本,设置文本格式,颜色等; 文件对话框:读写文件,打开和保存功能; QT常用快捷键:F4在源文件和头文件之间切换,右击菜单refactor转到定义等; 整体界面布局如下。 设计思路: 新建mainWindow窗体,自带菜单栏,工具栏和状态栏。 (1)菜单栏。依次添加需要的菜单。 (2)工具栏。每个小块为一个动作(action),新建动作后添加到对应菜单。...
CloudCompare插件开发之如何将点云文件打开、处理并显示?_点云文件怎么打开_来吧!我在未来等你!的博客-CSDN博客
CloudCompaer是一款优秀的开源软件,在点云处理时可以根据实际要求开发合适的插件,本文需求是将点云文件打开、处理并显示,网上资源可以找到点云简单处理和显示的代码,但对于文件打开的源代码几乎没有,本文通过查阅大量资料和研究源代码实现了点云文件打开,从而达到本文将点云文件打开、处理并显示的目标。本文是CloudCompare插件开发的拓展篇,关于插件开发基础可以参考:CloudCompare如何进行二次开发之插件开发? (1)CloudCompare自带打开功能打开点云初始文件 (2)插件打开点云初始文件、处理并显示 (1)引用的命名空间 #include <QtGui> #include "MySecondPlugin.h" #include "qinputdialog.h" #include "ccProgressDialog.h" #include "ccPointCloud.h" (2)设置插件按钮不用选择点云即可使用 void MySecondPlugin::onNewSelection(const ccHObject::Container...
Qt 实例3 读取txt文件_qt读取txt_一个程序猿的自我修行的博客-CSDN博客
通过简单实例小程序,实现txt文件读取展示。 1、创建工程并进行界面设计。创建基于QWidget基类的Qt界面应用程序,并在主界面添加相关控件如下: 界面控件依次为:QLabel、QLineEdit、QPushButton、QTextEdit。 2、创建并绑定槽函数 .h头文件创建槽函数: private slots: void slotReadTxt(); .cpp源文件构造函数内绑定槽函数 connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(slotReadTxt())); 3、槽函数实现 void Widget::slotReadTxt() { QString fileName = QFileDialog::getOpenFileName(nullptr,"Open",QApplication::applicationDirPath(),"*.txt;;*.*"); if(fileName.isEmpty()) return; ui->lineEdit->setText(fileName); QFile...
QT 文件监视系统QFileSystemWatcher监视目录的改变directoryChanged和监视文件的改变fileChanged
添加头文件 Header: #include qmake: QT += core bool QFileSystemWatcher::addPath(const QString &path) 如果路径存在,则会向文件系统监视器添加路径。如果该路径不存在,或者该路径已被文件系统监视器监视,则不会添加该路径。 如果路径指定了一个目录,则当修改或从磁盘中删除路径时,将发出目录更改的directoryChanged()信号; 否则,当修改、重命名或删除路径时,将发出文件化的fileChanged()信号。 [static] QString QDir::currentPath() 返回应用程序的当前目录的绝对路径。 bool QDir::mkdir(const QString &dirName) const 创建一个名为目录名的子目录。 成功时返回true;否则将返回false。如果在调用此函数时该目录已经存在,则它将返回false。 QString QDir::path() const returns the path.
QT调用百度地图并返回点击地的经纬度_qt调用百度地图api-CSDN博客
最近需要使用百度地图,并返回某个点的经纬度值。网上基本都是根据经纬度定位,而没有获取经纬度的。自己用QT简单实现了下。 1、编译环境搭建 这块耗时最久。因为之前QT默认的MinGW 64bit无法编译,需要安装MSVC2017(注意:安装Visual Studio 2017,最开始安装2022也不行)。安装过程,自行百度。 2、添加QWebEngineView组件 Qt5.5之后使用新的QWebEngineView代替了之前的QWebView,加载数据的方式也由同步变成了异步。所以访问网站页面和加载HTML页面都需要使用QWebEngineView类。而在QT提供的控件中是找不到QWebEngineView组件的。 先选个Graphics view控件,命名为mappage,然后右键,找到“提升为”,在对话框中的“提升的类名称”,输入QWebEngineView,点击添加即可。 在添加两个按钮进行定位及获取经纬度,两个lineEdit显示经纬度。简单UI如下 3、添加QWebEngineView类 4、直接上代码 mainwindow.h如下 #ifndef...
QT-通过tcp传输文件和文本消息_qttcp字节流发送文本_为阿根廷助威的博客-CSDN博客
在建立连接的基础上增加了发送文件的功能,在接收端和发送端定义了一个枚举类型,用于判别发送的是文件还是文本消息 enum MSG{ messAge, fiLe }; 客户端ui 主要函数 1.获取端口号和ip地址,进行连接,再次点击即可断开连接 void Widget::on_btn_listen_clicked() { QString address=ui->lineEdit_address->text(); qint16 port=ui->lineEdit_port->text().toInt(); QHostAddress ip=QHostAddress(address); if(!conState) { my_client->connectToHost(ip,port); if(!my_client->waitForConnected(5000)) { QMessageBox::critical(this,"错误",my_client->errorString()); return ; } else { ui->btn_listen->setText("断开连接");...
QT5+TCP/IP多线程传输图片_qt tcp服务器多线程_HAPY77的博客-CSDN博客
QT中设计TCP/IP通信主要使用QTCPServer和QTCPSocket两个类,功能分为服务器端和客户端,服务器端负责接收图片,客户端发送图片。多线程设计主要有两种方法,一种是通过添加继承于QThread的类,并在此类中实现run()函数为主体业务逻辑。另一种是继承自Qobject的类中实现业务逻辑,实例化以后添加到子线程(使用movetothread()方法,子线程需要在主线程中独立创建)。线程之间通信最好使用信号与槽机制,或者使用指针传递地址,否则容易报出各种错误。 1.简易版本(可以实现的逻辑有限) mainwindow.cpp m_ser = new QTcpServer(this);//指定父对象在父对象析构时自动析构 m_sock = new QTcpSocket(this); ...
Qt 导出word_qt word_kchmmd的博客-CSDN博客
前言 qt导出可以利用QAxObject去导出word或者excel等。 QAxObject主要是调用QAxObject的 querySubObject、dynamicCall、setProperty等方法,其中方法的参数属性,可以通过word官网查询,具体属性怎么用,暂时也没找到有相应文档,有需要可以结合office官方文档属性和下面分享的或者网上找下资料的,依葫芦画瓢,找规律试一试。 下面分享导出word的一些常用属性。 Test案例 首先在.pro文件中需要加入:QT += axcontainer 使用时加头文件 #include <QAxObject> 不多bb直接上代码 .cpp文件 #include "widget.h" #include "ui_widget.h" #include <QAxObject> #include <QFile> #include <QMap> #include <QDebug> #include <QFileDialog> #include <QPushButton> Widget::Widget(QWidget *parent) :...
Qt+QtWebApp开发笔记(五):html中使用json触发ajax与后台交互实现数据更新传递_ITPUB博客
前面完成了页面的跳转、登录,很多时候不刷新页面就想刷新局部数据,此时ajax就是此种技术,且是异步的。 本篇实现网页内部使用js调用ajax实现异步交互数据。 在js中使用 ajax是通过XMLHttpRequest来实现的。 下载地址 链接: Ajax Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括:HTML或XHTML、CSS、JavaScript、DOM、XML、XSLT以及最重要的XMLHttpRequest。 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。...
C++、Qt分别读写xml文件的方法实例_C 语言_脚本之家
更新时间:2023年03月06日 10:59:15 作者:手写不期而遇 Qt提供了QDomElement 类用于完成对xml文件的读取和写入,这篇文章主要给大家介绍了关于C++、Qt分别读写xml文件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下 XML语法 第一行是XML文档声明,<>内的代表是元素,基本语法如以下所示。C++常见的是使用tiny库读写,Qt使用自带的库读写; <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <根元素> <元素 属性名="属性值" 属性名="属性值">Text</元素> <元素 属性名="属性值" 属性名="属性值"> <子元素>Text</子元素> </元素> </根元素> C++使用tinyxml读写xml 首先从网站下载tinyxml库, 将6个文件加载到自己的项目中: 写XML: 新建文件并写入: #include "include/tinyxml.h" string strPath = "E:/test.xml"; TiXmlDocument...
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with QFile
Contact QFile, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack