qt窗口创建消息

Marcelxx 2018-01-05 09:16:34
由于项目需要,需要在QT窗口创建完成时做一些事情,如何拦截窗口的创建消息,即知道何时窗口创建完成?
就像是MFC的窗口在创建完成的时候有一个WM_CREATE消息。QT中如何知道?
另外,在窗口的nativeEvent函数中,拦截不到窗口的WM_CREATE消息?
该如何处理?
...全文
531 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huo5896324 2018-01-05
  • 打赏
  • 举报
回复
你这个是要实现什么功能? 窗口show之后做点什么?需要在show的时候做点什么可以去重写showevent
Marcelxx 2018-01-05
  • 打赏
  • 举报
回复
引用 1 楼 huo5896324 的回复:
如果不是要求极其精准的话,在构造函数里面加个定时一次的定时器(QTimer::singleShot()),构造函数完了,定时器就会发信号了
构造函数完成,窗口说不定还没有创建呢,在窗口show的时候才创建。
huo5896324 2018-01-05
  • 打赏
  • 举报
回复
如果不是要求极其精准的话,在构造函数里面加个定时一次的定时器(QTimer::singleShot()),构造函数完了,定时器就会发信号了
DC_Sea 2018-01-05
  • 打赏
  • 举报
回复
你是想 获取 窗口的大小,但 窗口还没show,, 你在show 之前 获取得大小 并不是 show之后的大小 是这意思吧
砚昇 2018-01-05
  • 打赏
  • 举报
回复
不知道这样是否可行; 构造一个类来管理窗口类, 在管理类内先实例化一个窗口类的对象,然后获取窗口类尺寸,再把窗口类显示出来。 我没试过,可以尝试一下。 如果你获取窗口的大小 是为了调节窗口大小或布局的话,建议在窗口类的paintEvent()中处理。
Marcelxx 2018-01-05
  • 打赏
  • 举报
回复
引用 5 楼 duchengjun 的回复:
你想要实现什么功能呢? 创建窗口意味着调用构造函数,是不是可以这么理解,执行完调用构造函数的一行代码,就意味着创建窗口完成。 这个窗口类只有在调用构造函数被实例化后,怎么可能在实例化还没完成的时候就调用一个不存在对象的成员函数呢? MainWindow window; //调用构造函数 //doSomething(); window.show();
我是想在窗口显示之前,获取窗口的大小
砚昇 2018-01-05
  • 打赏
  • 举报
回复
你想要实现什么功能呢? 创建窗口意味着调用构造函数,是不是可以这么理解,执行完调用构造函数的一行代码,就意味着创建窗口完成。 这个窗口类只有在调用构造函数被实例化后,怎么可能在实例化还没完成的时候就调用一个不存在对象的成员函数呢? MainWindow window; //调用构造函数 //doSomething(); window.show();
Marcelxx 2018-01-05
  • 打赏
  • 举报
回复
引用 3 楼 huo5896324 的回复:
你这个是要实现什么功能? 窗口show之后做点什么?需要在show的时候做点什么可以去重写showevent
不是,我是要在窗口创建完成、显示之前的这段时间做点事情。

16,216

社区成员

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

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