Qt 开发中的平台特定特性与 ActiveX 应用
1. 平台特定特性概述
在 Qt 开发中,尽管其全面的 API 能满足大多数平台的需求,但在某些情况下,我们仍需使用底层的平台特定 API。同时,Trolltech 提供了一些特定平台的 Qt 解决方案,如 Qt/Motif 和 Qt/MFC 迁移框架,方便将 Motif/Xt 和 MFC 应用迁移到 Qt。此外,还有适用于 Tcl/Tk 应用的扩展以及 Windows 资源转换器。
2. 与原生 API 交互
QWidget 类提供了 winId() 函数,可返回窗口 ID 或句柄,还提供了静态函数 find() 用于根据窗口 ID 获取 QWidget。我们可以将这个 ID 传递给原生 API 函数以实现特定平台的效果。
2.1 Mac OS X 示例
以下代码使用 winId() 和原生 Mac OS X(Carbon)函数将工具窗口的标题栏移到左侧:
#ifdef Q_WS_MAC
ChangeWindowAttributes(HIViewGetWindow(HIViewRef(toolWin.winId())),
kWindowSideTitlebarAttribute,
kWindowNoAttributes);
#endif
超级会员免费看
订阅专栏 解锁全文
1740

被折叠的 条评论
为什么被折叠?



