qt
文章平均质量分 74
#君君#
这个作者很懒,什么都没留下…
展开
-
Qt QScrollArea 用法 QScrollArea不显示 QScrollArea没铺满
qscrollarea 填充widget不会充满area拉伸转载 2022-06-15 14:16:15 · 1122 阅读 · 1 评论 -
QSplitter(分离部件)
qsplitter分离部件转载 2022-06-15 13:40:42 · 396 阅读 · 0 评论 -
qcustomplot开启opengl支持(亲测好使)
qcustomplot绘制实时波形图(频谱图、瀑布图、星座图)并开启opengl支持转载 2022-06-08 18:18:14 · 4753 阅读 · 14 评论 -
【QCustomPlot】1.4 - 绘制动态曲线、波形图,隐藏曲线graph,鼠标移动拖动、滚轮缩放、点击选中
嵌入式表格 custompot 绘制动态曲线转载 2022-06-08 17:56:31 · 3581 阅读 · 4 评论 -
由漫谈QWidget及其派生类(一)引发的大佬谈Qt系列
QT学习全系列转载 2022-06-07 19:29:13 · 132 阅读 · 0 评论 -
QCustomplot的基本使用方法
qcustomplot 动态绘制曲线转载 2022-06-06 20:21:44 · 4754 阅读 · 0 评论 -
QGraphics Scene、Graphics Item、Graphics View关系及一个实例
QGraphics Scene、Graphics Item、Graphics View转载 2022-06-02 16:59:51 · 852 阅读 · 0 评论 -
Qt 图形视图框架<二>——<QGraphicsView、QGraphicsScene>
QGraphicsView、QGraphicsScene转载 2022-06-02 16:54:32 · 1329 阅读 · 0 评论 -
QT中视图(setViewport)和窗口(setWindow) 小总结
参考博客:https://blog.csdn.net/weixin_39583140/article/details/92798127https://blog.csdn.net/u012442719/article/details/50923012QT坐标系方向不是标准的笛卡尔坐标方向,x轴向右为正,y轴是向下才为正!QPainter p(this); 通俗点讲,setViewport就是移动图形在页面的显示位置p.setViewport(x,y,w,h); ...转载 2022-05-25 16:47:39 · 778 阅读 · 0 评论 -
Qt 之 QHttpPart和QHttpMultiPart
简述HTTP 协议对 MIME 类型有详细描述,multipart/... 是单个消息头包含多个消息体的解决方案,multipart 类型对发送非文本类型非常有用。简述 multipart 子类型 QHttpPart QHttpMultiPart 使用示例multipart 子类型首先,来看 QHttpMultiPart 中关于 multipart 子类型(subtype)的描述。枚举 QHttpMultiPart::ContentTypeRFC 2046 和其它地方描转载 2022-05-21 16:00:25 · 821 阅读 · 0 评论 -
Qt实现HTTP文件上传下载(Flask服务端)
接上一篇 Qt HTTP 基本操作:https://blog.csdn.net/gongjianbo1992/article/details/975688631.准备服务端测试代码只需要上传和下载两个接口,实际应用时可能还需要 token 验证之类的,而且也没有对文件传输结果进行校验。 #using flask 2.0.1 import os,sys from flask import Flask,request,jsonify,send_file,send_from_dir...转载 2022-05-20 17:24:33 · 1575 阅读 · 0 评论 -
QT从入门到入土(九)——TCP/IP网络通信(以及文件传输)
引言TCP/IP通信(即SOCKET通信)是通过网线将服务器Server端和客户机Client端进行连接,在遵循ISO/OSI模型的四层层级构架的基础上通过TCP/IP协议建立的通讯。控制器可以设置为服务器端或客户端。关于TCP/IP协议可详看:TCP/IP协议详解 - 知乎 (zhihu.com)总的来说,TCP/IP通讯有两个部分: 客户端和服务器 QTcpServer(监听套接字)和QTcpSocket(通讯套接字) 监听套接字,顾名思义,监听关于各种通讯的状态,一旦.转载 2022-05-12 18:41:00 · 1995 阅读 · 1 评论 -
Qt之QTreeView与MVC设计模式
QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有MVC的特点)。1. QStandardItemModel在QTreeView中的使用使用QTreeView的对应模型是 QStandardItemModel,这个是Qt对应ui界面最有用的模型,它可以用于树形控件、列表控件、表格控件等等和条目有关的控件。 QStandardItemModel用于列表和表格转载 2022-05-11 09:21:37 · 545 阅读 · 0 评论 -
QXML之QXmlStreamWriter 读写
代码出自Qt creator 快速入门,代码如下 从xml中读取数据main.cpp#include <QtCore/QCoreApplication>#include<QFile>#include <QXmlStreamReader>#include <QXmlStreamWriter>#include <QDebug>main.cpp#include <QtCore/QCoreApplication转载 2022-05-07 14:32:32 · 978 阅读 · 0 评论 -
Qt5 对xml文件常用的操作(读写,增删改查)
项目配置pro文件里面添加QT+=xmlinclude <QtXml>,也可以include <QDomDocument>项目文件:.pro 文件 QT += core xml QT -= gui TARGET = xmltest CONFIG += console CONFIG -= app_bundle TEMPLATE = app转载 2022-04-30 18:09:59 · 1717 阅读 · 0 评论 -
QTableView表格视图的列宽设置
Qt中的表格控件可以通过从QTableView或QTableWidget派生子类实现。其中,QTableWidget只是对QTableView的一种简单封装。因为使用QTableView常常需要用户指定自定义的Model,这意味使用起来不够轻便。有时候我们只是想利用一些简单的表格功能,不需要对表格展示有多强大的控制。那么,QTableWidget便是一个不错的选择。这篇博文主要记录表格的列宽和行高的设置。方法一: 恰当的设置表格的列宽往往能给表格的美观性带来较好的效果。一种简单...转载 2022-04-27 16:32:39 · 10013 阅读 · 0 评论 -
C/C++ Qt TableDelegate 自定义代理组件
TableDelegate 自定义代理组件的主要作用是对原有表格进行调整,例如默认情况下Table中的缺省代理就是一个编辑框,我们只能够在编辑框内输入数据,而有时我们想选择数据而不是输入,此时就需要重写编辑框实现选择的效果,代理组件常用于个性化定制Table表格中的字段类型。代理类的作用是用来实现重写的,例如我们的TableView中默认是可编辑的,这个可编辑的组件是QT默认为我们重写了QLineEdit组件,也可理解为将组件嵌入到了表格中,实现了对表格的编辑功能。在自定义代理中QAbstrac..转载 2022-04-26 13:18:07 · 333 阅读 · 0 评论 -
QT画贝塞尔曲线 和 曲线与斜率、一阶导数 、二阶导数的关系
QT绘制贝塞尔曲线刚开始学习计算机图形学,觉得很有趣,我的水平不高,代码可供参考。部分代码 typedef struct { float X; float Y; } PointF; PointF bezier_interpolation_func(float t, PointF *points) { //PointF *tmp_points = (PointF *)malloc(point_count *转载 2021-08-04 17:07:11 · 3252 阅读 · 0 评论 -
在Qt中使用SQLite数据库
前言SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。Qt5以上版本可以直接使用SQLite(Qt自带驱动)。用法1 准备引入SQL模块 在Qt项目文件(.pro文件)中,加入SQL模块:QT += sql引用头文件 在需要使用SQL的类定义中,引用相关头文件。例如:#include <QSqlDatabase>#include <QSqlError>#include <QS转载 2021-07-22 11:12:41 · 1587 阅读 · 0 评论 -
qt for webassembly环境搭建图文教程
一、前言从Qt5.14开始,官方的在线安装提供了qt for webassembly构建套件,这对很多小白来说绝对是个好消息,也绝对是个好东西,好消息是不用再去交叉编译自己生成qt for webassembly的qt库,在线安装版本直接就给你安装好,很多小白就困在如何交叉编译qt for webassembly的qt库上了,环境简直是弄哭了,望而却步;好东西是你可以直接将你现有的qt程序直接编译成wasm文件然后直接网页运行,注意这里不是说activex的形式在IE中运行,而是直接各种支持wasm..转载 2021-07-17 09:00:42 · 933 阅读 · 0 评论 -
让qmake的lib项目只生成一个so库文件
让qmake的lib项目只生成一个so库文件qmke编译出来的so一般都是4个文件,其中一个是3个是soft-lik文件。 我把qmake编译出来的so库打包发给别人使用时,对方大都是没有linux使用、编程经验的window工程师,经常是在window下解压再考到linux上,这会导致soft-lik文件失败。于是想看看能不能让qmake对lib项目只编译出1个的so文件,不产生链接文件。 网上找了下,没有发现很好的方法,只找到一个:http://stackoverflow.c...转载 2021-06-21 09:25:02 · 936 阅读 · 0 评论 -
Qt ModbusTCP ModbusRTU 使用同步读和异步写
使用Qt自带的库开发,添加相关头文件 #include <QModbusTcpClient> #include <QModbusReply> #include <QSerialPort> #include <QModbusDataUnit> #include <QModbusRtuSerialMaster>一、寄存器说明Modbus寄存器的操作包括读写和只读。具体如下: enum ...转载 2021-06-11 08:19:20 · 2372 阅读 · 0 评论 -
关于Qt的事件循环以及QEventLoop的简单使用
1.一般我们的事件循环都是由exec()来开启的,例如下面的例子:1 QCoreApplicaton::exec()2 QApplication::exec()3 QDialog::exec()4 QThread::exec()5 QDrag::exec()6 QMenu::exec() 这些都开启了事件循环,事件循环首先是一个无限“循环”,程序在exec()里面无限循环,能让跟在exec()后面的代码得不到运行机会,直至程序从exec()跳出。从exec()跳出时,事件循环即被终止。转载 2021-06-11 08:18:01 · 678 阅读 · 0 评论 -
浅谈 qmake 之 pro、pri、prf、prl文件
尽管每次和cmake对比起来,我们总是说 qmake 简单、功能少。但是qmake仍然是一个非常复杂的东西,我想大多人应该和我一样吧: 不是太清楚CONFIG等变量到底如何起作用的 用过的qmake内置变量和函数不超过20个 看Qt Creator源码或者QtSolution等库中自己使用的 *.pro 文件就想看天书一样本文只能抓住一条线,简单介绍一下 *.pro、*.pri、*.prf、*.prl等四种文件:干嘛用的,如何用的*.proqmake 的工程(proje...转载 2021-06-05 11:14:20 · 383 阅读 · 0 评论 -
Qt 开发经验总结
Qt 开发经验总结原创 飞扬青云 高效程序员 3天前图片图片1开发经验 当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了。 定时器是个好东西,学会好使用它,有时候用QTimer::singleShot可以解决意想不到的问题。 默认QtCreator是单线程编译,可能设计之初考虑到尽量不过多占用系统资源,而现在的电脑都是多核心的,默认msvc编译器是多线程编...转载 2021-05-28 10:47:37 · 895 阅读 · 0 评论 -
Ubuntu Qt 使用gdb+core dump定位软件崩溃问题/gdb结合coredump定位崩溃进程
目录1. 背景1.1 什么是core dump?2.使用方法2.1 设置ubuntu 系统生产core文件2.1.1 core 文件生成2.2 Qt 生成调试信息2.3 gdb调试core文件1. 背景日常软件开发调试过程中,会遇到软件运行过程中,不知不觉就死掉了,通过日志无法确定异常的原因.此时就需要通过工具来定位软件在源代码层崩溃在什么地方.gdb+core dump的方式就可以方便于我们定位异常问题位置,进而分析问题的原因.1.1 什么是core dump?co转载 2021-05-27 07:58:23 · 1641 阅读 · 0 评论 -
Qt程序打包工具(最新版本v1.0.1)
由于Qt软件提供的windeployqt采用命令行操作,打包程序起来相对繁琐。而现有大多数的打包工具又不能针对Qt而打包,往往是一些库打包不成功,又或者操作繁琐。如果有一个可视化的傻瓜式的打包工具就好了。也就是这一原因,决定写这个基于Windows系统的可视化Qt打包程序,并开源其代码供大家一起学习进步。1. 适用范围Window系统; Qt5.0版本以上release版本编译的程序; 暂时不支持debug版本打包,后续会添加。2. 使用方法将需要打包的程序拖拽到...转载 2021-05-21 08:42:14 · 788 阅读 · 1 评论 -
手游摇杆---八方向摇杆和移动范围限制
手游摇杆: (零)摇杆设计原理 (一)最简单的四方向摇杆 (二)八方向摇杆和移动范围限制 (三)跟随式摇杆前面的实现了一版最简单的四方向摇杆,基于此做两个方面的优化: 升级为八方向 限制移动范围一 八方向前面做的四方向摇杆,确认方向是基于不等式区域做的,八方向的会有四条直线方程,处理起来稍微麻烦一点,所以这里换成角度来做。如图:已知点P的坐标为(x, y),求op与x轴正方向的夹角a。这里写图片描述由 tan(a) = y/x 可得 ...转载 2021-05-13 13:58:40 · 2645 阅读 · 0 评论 -
Qt下载(多种下载通道+所有版本)
Qt体积很大,有 1GB~3GB,官方下载通道非常慢,相信很多读者会崩溃,所以建议大家使用国内的镜像网站(较快),或者使用迅雷下载(很快)。作为 Qt 下载教程,本文会同时讲解以上三种下载方式。Qt 官方下载(非常慢)Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/图1:Qt 官方下载网站截图对目录结构的说明 目录 说明 archive 各种 Qt 开发工具安装包,新...转载 2021-05-12 10:37:08 · 845 阅读 · 0 评论 -
Qt5.9.4搭建安卓开发环境
Qt5.9.4搭建安卓开发环境周厚平2019-05-10 09:59:371423收藏10分类专栏:Qt一个自己摸爬滚打的小白 记录贴目录一、 素材准备二、 具体操作三、 测试环境(apk应用实例)素材准备1.QT:Qt 5.9.42.JDK:jdk-8u101-windows-i586.exe3.SDK:android-sdk_r24.4.1-windows.zip4.NDK:android-ndk-r12b-windows-x86.zip5.AN...转载 2021-05-12 09:53:32 · 709 阅读 · 0 评论 -
Qt5.4.1移植到arm——Linuxfb篇
Qt5与Qt4对比有很大的改变,其最大的特性在于模块化,并且很明显的是不再见到Qt4用到的qws,Qt5新增了QPA系统,基于QPA使得Qt5移 植到一个新平台非常简单而又具有极强的底层扩展能力;同时,C++11 也获得全面支持,使用 C++11 新特性更为方便。下面讲述将Qt5.4.1移植到MYD-AM335X的步骤:1、编译并安装tslib1.4。这部分按照“MYD-AM335X Linux 3.2.0 用户手册”第1.10.2章节的步骤即可,最终将安装到/usr/local/tslib中。2、到h转载 2021-05-07 15:48:14 · 1742 阅读 · 0 评论 -
Qt和嵌入式Linux 关于触摸屏坐标系错乱 通过增加 -platform linuxfb -plugin Tslib:invertx:rotate=90 运行参数解决问题
自从Qt 5.0发布以来,Qt不再包含自己的窗口系统(QWS)实现。对于单进程用例,Qt平台抽象是一个优秀的解决方案。Wayland可以支持多种图形化流程。 有多个平台插件可能在嵌入式Linux系统上可用:EGLFS,LinuxFB,DirectFB,Wayland。这些可用性取决于Qt的配置。在许多板上选择eglfs作为默认选项。如果默认值不合适,QT_QPA_PLATFORM则可以使用环境变量参数来请求另一个插件。或者,对于快速测试,-platform命令行可以使用相同...转载 2021-05-07 15:43:58 · 3804 阅读 · 0 评论 -
Qt5在Arm板上中文的显示问题以及应用启动时后置参数的意义
现在网上的很多方法都是在Qt4的基础上提出来的,Qt5编译的程序在arm板上的中文显示与其大同小异(有些关于字符编码的函数在Qt5中已经消失)。首先,你需要下载字库文件拷贝到arm板上的指定目录,我的目录是/opt/qt-4.7.1/lib/fonts/,或者拷贝到一个你自定义的目录,但是这时需要设置环境变量,进入/etc目录,用vi打开profile文件,将下边两句加在文件最后~:export QTDIR=(字体所在路径)~:export QT_QWS_FONTDIR=$QTDIR/lib/fon转载 2021-04-25 10:54:37 · 330 阅读 · 0 评论 -
Qt设置窗口坐标原点和x,y轴方向 和绘制简单几何图形
下面代码设置窗口中心为坐标原点,x轴水平向右增长,y轴竖直向上增长。void MainWindow::paintEvent(QPaintEvent *event){// 画一条直线 QPainter painter(this); // 创建QPainter一个对象 QPen pen; painter.setWindow(this->width() / 2, this-> height()/ 2, this-原创 2021-04-14 15:08:17 · 2734 阅读 · 1 评论 -
QTcpServer多线程实现 简单示例
多线程实现目的:每个客户端连接的tcpSocket分别分配一个专门的线程来处理。内容:界面输入要监听的IP地址和端口,点击监听即可如果输入IP为空,默认是监听本地所有IP.输入框输入字符,点击发送按钮发送。客户端连接后,发送的数据显示在接收框中。头文件:#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include "tcpserver.h"namespace Ui {class Widget;}原创 2021-03-23 17:32:29 · 862 阅读 · 0 评论 -
Qt5 Q_OBJECT 编译出错和Object::connect: No such signal....解决办法
1: Object::connect: No such signal....解决办法:新写的类必须带有 Q_OBJECT另外传递参数不能带有参数名字connect (this, SIGNAL(dataWrite(const QByteArray ) ), socket, SLOT(WriteToData(const QByteArray ) ) );2:在 Qt 编写过程中,如多线程使用信号槽时,需要添加 Q_OBJECT,但是在添加之后发现编译老会出错。如下:在 Qt 编写过程中,...原创 2021-03-23 14:41:37 · 7296 阅读 · 0 评论 -
Qt 模型/视图/委托
模型、视图、委托模型/视图架构基于MVC设计模式发展而来。MVC中,模型(Model)用来表示数据;视图(View)是界面,用来显示数据;控制(Controller)定义界面对用户输入的反应方式。Qt中视图和控制结合在一起形成新的模型/视图架构。这同样将数据的存储和数据向用户展示进行了分离,但提供了更为简单的框架。数据和界面分离,使得相同的数据可以在不同的视图显示,而且可以扩展新的视图,而不需要改变底层的数据框架。为了灵活处理用户输入,引入了委托,也称为代理,使用它可以定制数据的渲染和编辑方式。转载 2021-03-17 18:03:53 · 498 阅读 · 1 评论 -
Ubuntu 移植运行在ARM IMX6 - A9处理器 Qt5.9.1
运行支持 opengl、Qt quick2、QML 模块1:交叉编译 Qt 在 ubuntu 中使用以下命令安装 qt 移植相关工具包:vmuser@linux-compiler:~ $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm sed cvssubversion coreutils te原创 2021-03-13 17:35:49 · 580 阅读 · 0 评论 -
MX6Q移植QT5.9.1
由于开发需要支持qml,按照网上指导,QT必须先支持opengl,在此之前尝试过gcc 4.2/4.4/4.6/4.9和qt5.6/5.8版本,均不能正确配置并支持opengl,本文绕过了众多陷阱,选择了gcc4.8.1版本(网上仅CSDN能找到付费资源,本文已经购买并开放了网盘资源)和QT LTS 5.9.1(17年发布的新版本),最终完美支持qml、qt quick和opengl。 安装环境 准备工作 移植过程 安装过程中的错...转载 2021-03-10 10:29:00 · 160 阅读 · 0 评论 -
Qt移植:Ubuntu16.04 交叉编译qt5.9.6详细教程
博主是嵌入式小萌新,项目需要移植qt到arm开发板上,历经千辛万苦解决了各种问题,最后终于成功了,所以整理了开发笔记给更多的小伙伴参考。1.准备阶段①下载交叉编译器aarch65-linux-gnu,下载地址为:https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/aarch64-linux-gnu/②下载Qt5.9.6源码,下载地址为:http://download.qt.io/archi...转载 2021-03-10 10:19:25 · 1813 阅读 · 0 评论