wuwenyishi / blog

0 stars 0 forks source link

Qt 开发随笔 #14

Open wuwenyishi opened 5 months ago

wuwenyishi commented 5 months ago

https://blog.xuemingde.com/posts/23YYJYJ.html

一花一世界,一念一菩提

wuwenyishi commented 5 months ago

Qt 重启当前程序

Qt 重启当前程序

// 获取当前应用程序的路径和参数
QString program = QApplication::applicationFilePath();
QStringList arguments = QApplication::arguments();
// 启动一个新的实例,并关闭当前实例
QProcess::startDetached(program, arguments);
QApplication::quit();

wuwenyishi commented 5 months ago

Qt在Windows下部署步骤

  1. 在Qt 开发工具下选择 Release 构建,打包
  2. 在某个盘符下新建一个文件夹(例如:在D盘下新建user文件夹)
  3. 在使用 Release 构建打包的文件下的release文件夹下的 .exe文件复制到新建的文件夹下
  4. 找到构建打包的编译器,如果选择的是MinGW 64-bit,就需要在开始菜单里找到MinGW 64-bit命令窗口,点击会弹出命令窗口
  5. 在命令窗口中输入cd /d D:\XXXX (XXXX 是新建文件夹的名称)
  6. 接着在窗口中输入 windeployqt xxxxx.exe (xxxxx 是复制进去的.exe 文件的名称)
  7. 将整个新建的文件夹复制到想要部署的机器中即可;(在生成的文件中,找到.exe文件,可直接运行了)
wuwenyishi commented 5 months ago

QModbusDataUnit 的newValueCount最大是多少

在Qt Modbus模块中,QModbusDataUnit类用于表示Modbus协议中的数据单元。其中,newValueCount属性表示要写入或读取的值的数量。根据Qt 5.15 文档,newValueCount的最大值由Modbus协议的规范决定,通常取决于数据类型和寄存器的数量。

通常情况下,以下是对于不同类型的Modbus数据单元的newValueCount的最大值:

  1. 对于QModbusDataUnit::Coils和QModbusDataUnit::DiscreteInputs类型,newValueCount的最大值为 2000。

  2. 对于QModbusDataUnit::InputRegisters和QModbusDataUnit::HoldingRegisters类型,newValueCount的最大值为 125。

这些最大值是基于Modbus协议的常见限制。但实际可用的最大值可能会因具体的Modbus设备和通信设置而有所不同。因此,在使用时,建议参考你所使用的Modbus设备的文档或规范以获得准确的限制。

wuwenyishi commented 4 months ago

Qt Python 打包

命令:pyinstaller -D -w ./main.py
main.py为启动文件 打包好的文件在 dist文件夹下