在QT5中,QWidget :: winEvent不存在

Aki*_*Aki 2 windows qt qt5

我使用:: winEvent()方法来监听Windows上的系统级通知.使用QT5,此方法不再存在; 所以我的应用程序没有收到有关添加/删除设备的任何系统级消息.

Aki*_*Aki 7

事实证明,QWidget :: winEvent()已经被新的(和改进的)QWidget :: nativeEvent()方法所取代.

http://qt-project.org/doc/qt-5.0/qtwidgets/qwidget.html#nativeEvent

新方法与旧方法具有不同的签名,但在我的情况下,我只需要切换到一个新方法,而根本不需要更改重载方法中的代码.

此外,新方法中有一个名为"event_type"的新参数也可以派上用场.

  • **静默**打破工作代码的更新几乎没有改进.`event_type`也没用.有了可用的小文档,它似乎只能有一个值.曾经是精益实现(`winEvent`)已被过度设计为无意义的签名.为了平台独立性.平台特定功能. (4认同)