qt如何收到处理windows自定义消息

buleysh 2015-06-16 08:45:49
想做一个类似于触发的效果,vs发出一个自定义的消息,qt程序收到消息后进行下一步的处理,具体改怎么做呢?百度后qt4是重写Application::winEventFilter()函数,qt5已经没有这个函数了,看帮助文档大概后琢磨后

class MyXcbEventFilter : public QAbstractNativeEventFilter
{
public:
virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *) Q_DECL_OVERRIDE
{
if (eventType == "xcb_generic_event_t") {
qDebug()<<"test";
// ...
}
return false;
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
MyXcbEventFilter * Filter=new MyXcbEventFilter;
a.installNativeEventFilter(Filter);
w.show();

return a.exec();
}


不明白eventType如何同自定义消息联系起来。。。,求高人相助
...全文
1034 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
buleysh 2015-07-01
  • 打赏
  • 举报
回复
引用 2 楼 dext 的回复:
那个只是用来区分不同平台的。在windows 平台上就是"windows_generic_MSG" 消息内容还是message 指向的东西。
消息收到了,又出现的问题是vs上发过来的中文字符到qt上显示悲剧了。。。怎么转码都不对,编码什么的理不清楚呀~~~
你的OPPA 2015-06-16
  • 打赏
  • 举报
回复
你自定义的消息是什么?你去看下Qt事件过滤器,另外,你自定义的消息需要返回一个事件类型,没有事件类型就没法获取你的消息事件。
dext 2015-06-16
  • 打赏
  • 举报
回复
那个只是用来区分不同平台的。在windows 平台上就是"windows_generic_MSG" 消息内容还是message 指向的东西。
内容概要:本文围绕“基于超局部模型与自抗扰ESO观测器的无模型预测电流控制改进策略”展开研究,提出一种结合超局部模型(ULM)与扩张状态观测器(ESO)的无模型预测电流控制(MFPCC)改进方法,旨在提升永磁同步电机(PMSM)电流环的动态响应性能与抗干扰能力。该策略利用超局部模型对系统行为进行局部逼近,避免依赖精确数学模型,同时引入自抗扰控制中的ESO实时观测并补偿系统内外部扰动,有效抑制参数摄动、负载变化及模型不确定性带来的影响。研究通过Simulink搭建完整的控制系统仿真模型,对传统MFPCC与所提改进策略进行对比分析,验证了新方法在电流跟踪精度、响应速度和鲁棒性方面的优越性。; 适合人群:具备电机控制、现代控制理论及Simulink仿真基础的电气工程、自动化及相关专业的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高性能电机驱动系统中电流环控制器的设计与优化;②为无模型控制与自抗扰控制的融合应用提供技术参考;③支撑相关课题的仿真验证、论文复现与创新方法研究。; 阅读建议:建议读者结合Simulink仿真模型深入理解控制结构与参数整定过程,重点关注ESO的观测性能与扰动补偿机制,并可通过改变负载条件、参数偏差等工况进行鲁棒性测试,进一步掌握该改进策略的核心优势与适用边界。

21,495

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧