Pie*_*igi 14 hwnd wid qtgui qt5
在使用Qt5(来自WId)的Windows上获取HWND的答案之一中,建议使用QPlatformNativeInterface以恢复本机窗口处理程序.
要访问QT标头,尽管示例使用其完整路径:
#include <QtGui/5.0.0/QtGui/qpa/qplatformnativeinterface.h>
Run Code Online (Sandbox Code Playgroud)
当然,这不是一个明确的解决方案.有没有办法使用QT的默认包含系统包含QPlatformNativeInterface?
请注意,都没有
#include <QPlatformNativeInterface>
Run Code Online (Sandbox Code Playgroud)
工作(在默认QT构建期间不生成此文件)
也不
#include <QGuiApplication>
Run Code Online (Sandbox Code Playgroud)
作品(仅包含QPlatformNativeInterface的前向声明 )
jko*_*era 10
您可以使用
QT += gui-private
Run Code Online (Sandbox Code Playgroud)
在您的项目文件中,如在示例插件中,然后只是
#include <qpa/qplatformnativeinterface.h>
Run Code Online (Sandbox Code Playgroud)
应该工作(至少对我有用).
这些API确实是私有的,但是如果你必须使用它们,我想这比#ifdef为每个版本添加一个更好.
小智 8
对于CMake,你必须使用它:
find_package(Qt5Gui)
include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS})
Run Code Online (Sandbox Code Playgroud)
然后使用源文件的普通包含:
#include <qpa/qplatformnativeinterface.h>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8398 次 |
| 最近记录: |