- 博客(13)
- 收藏
- 关注
原创 QT Modbus 服务端
该示例实现了Modbus服务器应用程序。该示例充当Modbus服务器。它接收标准的Modbus请求,根据请求调整其内部状态,并以适当的回复进行响应。此示例必须与Modbus客户端示例结合使用。在启动Modbus客户端示例之前,应启动此示例并将其置于监听状态。两个示例之间的后续交互使用Modbus协议。
2024-10-10 10:33:10 544
原创 QT Modbus客户端
该示例实现了Modbus客户端应用程序。该示例充当Modbus客户端,通过串行线或TCP发送Modbus请求。所示对话框允许定义标准请求并显示传入响应。该示例必须与Modbus服务器示例或通过TCP或串行端口连接的另一个Modbus设备结合使用。
2024-10-10 10:13:12 657
原创 QML 使用WindowStaysOnTopHint置顶界面后标题栏消失
QML弹出的界面使用WindowStaysOnTopHint置顶后标题栏消失。需要将标题栏的按钮全部设置才会恢复。
2024-10-09 15:19:00 143
原创 QML Window无边框界面两次最小化后无法还原
QML Window控件,点击第二次最小化时,无法在任务栏中还原。在Component.onCompleted中设置windows 的flags可以解决这个问题。
2024-09-29 13:39:46 126
原创 QT 串口 QIODevice::readyRead无法发射
串口通讯中途硬件断开连接报错后,后续readyRead无法正常发射信号,执行setDataTerminalReady(true)函数后恢复正常。
2024-08-14 11:08:37 183
原创 QOpcUaClient
在服务器上添加nodeToAdd描述的节点。如果异步调用已成功调度,则返回true。操作的成功将在addNodeFinished()信号中返回。
2024-05-22 13:20:37 956 1
原创 QT 信号与槽
sendersignalfunctor创建从发送方对象中的信号到接收方对象中的方法的给定类型的连接。返回连接的句柄,该句柄可用于以后断开连接。此示例确保标签始终显示当前滚动条值。请注意,signal和slots参数不能包含任何变量名,只能包含类型。例如,以下操作不起作用,返回false:在本例中,MyWidget构造函数中继来自私有成员变量的信号,并使其以与MyWidget相关的名称可用。一个信号可以连接到许多槽和信号。许多信号可以连接到一个槽。
2024-04-24 15:48:03 698
原创 Menus Example:菜单示例
QMainWindow提供了一个主应用程序窗口,其中包括菜单栏、工具栏、停靠窗口小部件和围绕大型中央窗口小部件的状态栏。Q_OBJECTpublic:protected:在这个例子中,我们将看到如何实现下拉菜单以及上下文菜单。为了实现自定义上下文菜单,我们必须重新实现QWidget的contextMenuEvent()函数,以接收主窗口的上下文菜单事件。void cut();我们还必须实现一组专用插槽,以响应用户激活我们的任何菜单项。
2024-04-15 14:26:46 940 1
原创 Serial Terminal:QT串口终端
显示如何使用QSerialPort的各种功能。终端展示了如何使用Qt串行端口为简单串行接口创建终端。此示例显示了QSerialPort类的主要功能,如配置、I/O实现等。此外,调用类QSerialPortInfo以显示有关系统中可用串行端口的信息。QSerialPort支持两种通用编程方法:异步(非阻塞)方法:当控制返回到Qt的事件循环时,安排并执行操作。QSerialPort在操作完成时发出信号。例如,QSerialPort::write()会立即返回。
2024-04-10 14:22:43 991
原创 Blocking Sender: QT 串口阻塞发送
因此,不建议在请求线程中读取串行端口名称,而在另一个线程中读取超时或请求数据。例如,write()方法会立即返回。注意,transaction()方法是在主线程中调用的,但请求是在SenderThread线程中提供的。在GUI和多线程应用程序中,可以调用wait方法(在本例中为waitForReadyRead())来挂起调用线程,直到操作完成。在run()函数中,首先是锁定QMutex对象,然后使用成员数据获取串行端口名、超时和请求数据。这也意味着所有的对象方法都是在run()方法的作用域中执行的。
2024-04-10 13:22:57 851 1
原创 Blocking Receiver :QT串口阻塞接收
QString是可重入的,但不是线程安全的,不建议从一个启动、调用和超时或另一个的响应数据中读取串行端口名。使用Qt的阻塞串行编程API通常会导致代码更简单,但由于它的阻塞行为,它只能在非GUI线程中使用,以防止用户界面冻结。方法waitForBytesWritten()应该在阻塞方法的每次write()调用之后使用,因为它处理所有的I/O例程,而不是Qt事件循环。应该在每次调用阻塞方法的read()之前使用方法waitForReadyRead(),因为它处理所有的I/O例程,而不是Qt事件循环。
2024-04-10 12:32:12 975 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人