当前位置: 首页 > news >正文

QT6开发笔记

开发环境w11系统Qt Creator 18.0.0C的类概念1、 一个类有变量有方法所以一个类包括cpp文件和h头文件2、每次创建一个类对象就会执行一次构造函数QT6新建新的类为什么新建类会单独说明因为这个会让初学者出错避免浪费时间不会出错file-new file-文件和类 c/c使用新建的QT类调用UI方法1主窗口共有化ui成员方法2把新类的构造函数增加参传递iap_file::iap_file(QWidget *parent,Ui::Widget *t_ui) : QWidget{parent} { connect(t_ui-iap_openFile,QPushButton::clicked,this,iap_file::open_iap_file); }参1父类是QWidget 参2为ui类型指针然后主QWidget新建类对象时候指定传递参数#include widget.h #include ui_bootload_widget.h Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui-setupUi(this); m_iap_file new iap_file(this,ui); }仿真下使用qDebug的程应用程序输出为乱码工具- 外部-配置-文本编辑器-inteface 找到选择uft8编码工具- 外部-配置-文本编辑器-环境 找到选择uft8编码如上为常规解决方法如果未能解决电脑w11设置找到如下更改系统环境设置添加完整的QT组件安装目录下打开MaintenanceTool.exeqt一般安装只会装常用的东西需要自己去添加更多的组件开发起来就需要很多组件资源qt在工程里面添加资源QT serialport哪里知道qt有什么资源文件添加完整的QT组件之后在安装目录下看到所有的文件资源的文件夹serialport包含其中E:\Qt\6.9.3\Src例程代码获取1、除了众所周知的进入软件选择例程2、在QT安装目录下也会有例程代码本人路径 E:\Qt\ExamplesQT6无法执行到信号和槽函数QT6好像不支持SIGNAL SLOTconnect(ui-pushButton_OpenUsart,QPushButton::clicked,this,Widget:: serial_pro_switch );二维数组定义动态定义2维数组2行10列int row 2, col 10; QVectorQVectorint array(row, QVectorint(col));生成的是变量会在函数退出的时候释放掉QVectorint* ptrArray array[0];指针用法写入元素方式QVectoruint8_t *data (*data)[2] 42; // 写入第三个元素索引2指针申请二维数组内存new方式需要自己去释放内存// 使用new动态分配二维数组 QVectorQVectoruint8_t* p_array new QVectorQVectoruint8_t( total_array_big_hang_number, QVectoruint8_t(IAP_MAX_FREAM_LEN) ); // 获取第三行的地址索引为2 QVectoruint8_t* third_row (p_array-at(2));QT数组QByteArray *file_ByteArray ; QByteArray temp_sendData;//初始化的数组实际上无存储空间不能使用data()引用数组地址file_ByteArray-data()获取数组的首个元素 0号元素file_ByteArray-data()[0]插入另一个数组在元素【5】的位置上插入“123456”QByteArray temp_array(123456); temp_sendData.insert(5,temp_array);数组尾追加变量temp_sendData.append(变量);类型强制转换reinterpret_castuint8_t *(file_ByteArray-data()))reinterpret_cast目标类型(当前需要转换的类源))大小端区别使用Q的时候总会感觉结构体的成员顺序会随大小端而改变其实不会struct Example{char a; // 1字节short b; // 2字节int c; // 4字节};大端---------------------------------------------------------------- | a | b高 | b低 | c高 | ---------------------------------------------------------------- | 0x0000 | 0x0001 | 0x0002 | 0x0003 | ---------------------------------------------------------------- | 1 | 2 | 3 | 4 | ----------------------------------------------------------------小端---------------------------------------------------------------- | a | b低 | b高 | c低 | ---------------------------------------------------------------- | 0x0000 | 0x0001 | 0x0002 | 0x0003 | ---------------------------------------------------------------- | 1 | 2 | 3 | 4 | ----------------------------------------------------------------关键差异字段大端模式小端模式a0x00000x0000b0x0001高字节0x0002低字节0x0001低字节0x0002高字节c0x0003高字节...0x0000低字节0x0003低字节...0x0000高字节结论还是成员a在低字节QT串口发送完成未实践使用 QByteArray data serialPort-write(data); 写一个大缓存之后 定时检测如下 if (serialPort-bytesToWrite() 0) { qDebug() 发送完成通过定时器检测; }两个类之间调用第一种A类内创建B类A可以调用B也可以传递A类给B这样就耦合比较深第二种通过第三个类去协调两个类第三种通过指针分别指向各自的类但是个人觉得也是第二种的延申创建信号就是在类的点H文件中增加一个函数声明无须实体函数signals:void big_row_complete();emitbig_row_complete();//是发射信号没有release模式QT6再将左下角的图标改成releaserelease发布的程序无法执行参考Qt6程序打包(如何解决Qt程序在其他电脑上无法运行的问题)_qt6打包程序-CSDN博客找到windeployqt.exe在安装目录搜索windeployqt.exe将要发布的程序bootload_pc_app.exe我的程序和windeployqt.exe放在非中文文件夹下文件夹目录C:\Users\18722\Desktop\test1找到qt的命令窗口1、英文输入法下输入cmd 如下C:2、跳转目录cd C:\Users\18722\Desktop\test1cd C:\Users\18722\Desktop\test13、输入第三条cmd windeployqt bootload_pc_app.exe结束QT6_UI设计——设置控件背景颜色/字体颜色1、右击选择控件2、选择背景一定是选择下拉框每次都会忘记每次都出错color 颜色background-color 背景颜色alternate-background-color 交替背景颜色border-color 边框颜色border-top-color 边框顶端border-right-color 边框右边border-bottom-color 边框底部border-left-color 边框左边gridline-color 网格颜色selection-color 选择颜色selection-background-color 选择背景颜色
http://www.rkmt.cn/news/1297252.html

相关文章:

  • Delorean自然语言魔法:如何用简单英语操作时间
  • 技术突破:如何用Seraphine实现英雄联盟数据智能化管理与自动BP决策
  • FastSD CPU性能对比:OpenVINO vs PyTorch在CPU上的惊人差异
  • 深度掌握SCSI设备管理:5个实战技巧解决存储运维难题
  • BouncyCastle.NET证书管理完全教程:生成、验证与撤销的终极指南 [特殊字符]
  • 别再只用DS18B20了!用51单片机+ADC0804做个PT100温度计,从硬件接线到代码调试保姆级教程
  • 利用 Taotoken 多模型聚合能力优化内容生成流水线的实践
  • Nuke Survival Toolkit:150+专业工具集的技术架构与实战深度解析
  • Ace-Translate终极指南:构建本地离线翻译工作流的完整解决方案
  • 基于Council与Tavily构建多智能体协同决策系统:原理、实践与优化
  • 告别命令盲打:用Metasploit的kiwi模块一键获取Windows明文密码(附实战截图)
  • Open WebUI:5分钟搭建专属AI对话平台的终极指南
  • BackupPC-4.4.0 使用教程 - 2 备份文件
  • 嵌入式软件架构模式实战选型:从超级循环到RTOS与事件驱动
  • 别再死记硬背真值表了!用Multisim 14.1和Basys3 FPGA,手把手教你玩转数码管动态扫描(附完整工程文件)
  • STM32F429的USART2用PA2/PA3没数据?别急,试试这个PD5/PD6的备用方案(附完整代码)
  • 5个步骤打造你的专属NGA论坛高效浏览体验:NGA-BBS-Script完全指南
  • 在Node.js后端项目中集成Taotoken多模型API的实践
  • 如何快速下载加密m3u8视频:Python下载器的完整指南
  • PXIe控制器:高性能测控系统的核心大脑与同步中枢
  • ShawzinBot终极指南:3分钟掌握Warframe MIDI自动演奏技巧
  • 构建多模型降级策略以保障业务系统的高可用性
  • MAA明日方舟自动化助手:3大核心功能让你告别重复劳动
  • BepInEx插件框架稳定性优化:3个关键修复与跨平台架构深度解析
  • 5个核心功能:Winhance中文版如何重塑你的Windows体验
  • 嵌入式Linux SPI转CAN-FD扩展实战:基于i.MX8MP与MCP2518FD
  • 终极ModEngine2指南:从零开始掌握魂类游戏模组引擎
  • 3个步骤开启AI助手:UI-TARS桌面版让电脑听懂你的话
  • Obsidian Projects 插件架构深入解析:基于纯文本的项目管理系统技术实现
  • Windhawk:重新定义Windows自定义体验的终极开源工具