OS X 中的几个窗口具有可拖放的窗口图标(例如终端、Keynote、Finder)。Qt4窗口图标可以设置拖放吗?我不知道点击窗口图标是否会触发任何事件。
问问题
101 次
1 回答
0
由于此功能仅适用于一个平台,因此它可能无法在 Qt 中直接使用。可能您将不得不使用 Cocoa API 来处理此类事件。您可以获得本机窗口句柄:
WId QWidget::winId () const 返回小部件的窗口系统标识符。
原则上是便携的,但如果你使用它,你可能会做一些非便携的事情。当心。
如果一个小部件是非本地的(外来的)并且在其上调用了 winId(),则该小部件将被提供一个本地句柄。
在 Mac OS X 上,返回的类型取决于 Qt 所链接的框架。如果 Qt 使用的是 Carbon,{WId} 实际上是一个 HIViewRef。如果 Qt 使用 Cocoa,{WId} 是一个指向 NSView 的指针。
使用这样的句柄,您可能可以使用本机(不可移植!)Mac OS X 代码处理“窗口图标拖动”
于 2012-11-07T11:27:03.903 回答