当前位置: 代码迷 >> QT开发 >> 请教QT创建出来的对话框里面的控件(如BUTTON)是否带句柄的?
  详细解决方案

请教QT创建出来的对话框里面的控件(如BUTTON)是否带句柄的?

热度:312   发布时间:2016-04-25 05:10:17.0
请问QT创建出来的对话框里面的控件(如BUTTON)是否带句柄的???
我知道用MFC创建的控件肯定是有句柄的,不知道QT创建的是否有?

------解决方案--------------------
句柄不是MFC赋予的,是windows控件的一个整形标示,HWND,在qt里面几乎所有widget及其之类都有这个变量,当然仅限于win下可用,你搜索hwnd即可。
------解决方案--------------------
WId QWidget::winId () const
------解决方案--------------------
ls++
qt只是封装了一些实现
用winId可以得到一个标示符(平台相关)
------解决方案--------------------
我的理解是 :在windows下才总说句柄的概念,Qt是跨平台的应用程序框架,封装的控件只要拿到指针,一样操作。
------解决方案--------------------
什么意思?不是每个控件都是一个类吗,用类名做相应的操作
------解决方案--------------------
探讨

在Windows,对应一个对话框程序(比如"计算器"这个程序),用Spy++看,可以看到每个按钮都对应一个窗口(HWND)的,而浏览器中的控件,比如csdn的回复页面,里面的"结贴","发帖"这些按钮用Spy++看,他们是没有对应一个窗口(HWND)的,我称之为DirectUI,我就是想问QT开发出来的对话框程序,在Windows下跑的时候是否每个控件对应一个窗口(HWND)的????

------解决方案--------------------
探讨

在Windows,对应一个对话框程序(比如"计算器"这个程序),用Spy++看,可以看到每个按钮都对应一个窗口(HWND)的,而浏览器中的控件,比如csdn的回复页面,里面的"结贴","发帖"这些按钮用Spy++看,他们是没有对应一个窗口(HWND)的,我称之为DirectUI,我就是想问QT开发出来的对话框程序,在Windows下跑的时候是否每个控件对应一个窗口(HWND)的????
  相关解决方案