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如何同自定义消息联系起来。。。,求高人相助
...全文
789 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 指向的东西。

16,201

社区成员

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

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