一、安装UbuntuVirtualBox版本:7.0.6r155176(Qt5.15.2)Ubuntu版本:20.04.6(amd64,DesktopLiveDVD)二、安装QT#官方下载https://download.qt.io/#国内镜像下载https://mirrors.cloud.tencent.com/qt/https://mirrors-i.tuna.tsinghua.edu.cn#参考官方安装文档https://doc.qt.io/archives/qt-6.0/linux-requirements.html#platform-plugin-dependencieshttps:
Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ListWidget列表框组件的常用方法及灵活运用。QListWidget是Qt中的一个列表框组件,用于显示一列项目,并允许用户进行选择。每个项目可以包含一个图标和文本,可以使用QListWidgetItem类来表示。ListWidget组件与TreeWidget有些相似,区别在于TreeWidget可以实现嵌套以及多字段结构,而ListWidget则只能实现单字段结构,该组件常用于显示单条记录,例如只显示IP地
1.定时器QTimer ⭐ 创建定时器对象 QTimer*timer=newQTimer(this); ⭐启动定时器 timer->start(毫秒); ⭐监听信号connect(timer,&QTimer::timeout,[=](){ });-----------------------------------------------------------例子-----------------------------------------------------------QTimer*timer=newQTimer(this);timer->start(500);conn
Qt字体库默认主持操作系统所有的字体库,但是设计师一般喜欢比如思源字体,但是咱们的操作系统没有安装,在其他没有安装第三方字体库的电脑上运行,就达不到设计师最初设计的观感。这篇博客介绍Qt如何第三方字体库,以思源字体为例介绍。一、下载字体库 csdn下载地址: 思源字体库下载地址.otf格式二、添加字体库三、QFontDatabase概述QFontDatabase类提供了关于底层窗口系统中可用字体的信息。详细资料请参看Qt官网:QFontDatabaseClass-Qt3.0.5Documentation1、获取系统所有字体族信息QFontDatabasedatabase;fore
文章目录Qt是什么?Qt可以做什么?Qt的辛酸史Qt和KDEGPL和LGPL如何选择开源协议2.为什么用Qt?Qt和MFC3.QtCreator安装之后添加组件编码问题主界面创建项目项目文件main.cppwidget.hwidget.cppHelloQt.pro常用qmake变量项目操作添加新文件打开Qt项目其他常用快捷键主题配置4.Qt+VS20191.打开VS2.VS安装Qt插件3.安装VSIX(即上面下载的那个插件)4.设置插件5.VS创建Qt项目6,中文乱码1,手动修改2,自动修改7,Vs中修改应用程序图标5.QtCreator+MSVC中文乱码6.需要的C++知识1.什么是C++2
一、编写缘由1.发现问题最近项目上要把之前的modbusRTU改为TCP形式,因此之前的modbus通讯线程得重构,一开始当然是使用Qt自带的QModbusTcpClient类,很快就重构好线程,读取数据没有问题,但是只要一发送写数据请求,整个tcp连接就会断开,做了很多尝试,排除了从站的问题,即使直接连modbusslave也是出现这种问题。2.查找问题于是自己写了一个tcpserver,抓取QModbusTcpClient写数据的报文,和modbuspoll上的对比,果然对不上,qt中的报文比modbuspoll上的多出来一截,想必是协议错误了。3.解决策略QModbusTcpClient
1.mainwindow.h#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include#include#include#include#include#includeusingnamespacecv;usingnamespacestd;QT_BEGIN_NAMESPACEnamespaceUi{classMainWindow;}QT_END_NAMESPACEclassMainWindow:publicQMainWindow{Q_OBJECTpublic:MainWindow(QWidget*parent=nullptr);~MainWindow();priv
Qt动态调用读取效果导入读卡相关函数{ui->setupUi(this);//动态调用方法donsee32.dllm_hDLL=::LoadLibrary(L"./donsee32.dll");if(m_hDLL==nullptr)ui->textEdit->append("加载动态库失败,请检查动态库路径");elseui->textEdit->append("加载动态库成功");fpDonsee_Open=(DONSEE_HID_OPEN_FUNC)GetProcAddress(m_hDLL,"Donsee_Open");fpDonsee_Close=(DONSEE_HID_CLOSE_F
国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),这种奇葩的缩写方式,让我想起了NBA球星“字母哥”。下面看下Qt实现的动态语言切换效果。一.效果二.源码QHSettingDialog.h#ifndefQHSETTINGDIALOG_H#defineQHSETTINGDIALOG_H#include#includenamespaceUi{classQHSettingDialog;}classQHSettingDialog:publicQDialog{Q_OBJECTpublic:explicitQHSettingDialog(QWidge
UDP通信11.3.1UDP简介UDP(UserDatagramProtocol即用户数据报协议)是一个轻量级的,不可靠的,面向数据报的无连接协议。我们日常生活中使用的QQ,其聊天时的文字内容是使用UDP协议进行消息发送的。因为QQ有很多用户,发送的大部分都是短消息,要求能及时响应,并且对安全性要求不是很高的情况下使用UDP协议。但是QQ也并不是完全使用UDP协议,比如我们在传输文件时就会选择TCP协议,保证文件正确传输。像QQ语音和QQ视频通话,UDP的优势就很突出了。在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP