如何使用QT平台本机接口在QNX上加入窗口组?

时间:2014-12-02 04:43:38

标签: c++ qt qt5 qnx

在QQuickItem中我得到了窗口组名称如下:

QPlatformNativeInterface* interface = QCoreApplication::instance()->platformNativeInterface();
char* groupName = (char*) interface->nativeResourceForWindow( "windowGroup", window() );

我现在正试图找出如何加入该窗口组。几乎没有任何文件 在QT平台本机界面上。我发现以下通过谷歌搜索: https://qt.gitorious.org/qt/qtbase/source/b08cc0ec6f096d0e6764486c81264c24a406bee1:src/plugins/platforms/qnx/qqnxwindow.cpp

At any point following the creation of the QQnxWindow object, an application can
change the window group it has joined. This is done by using the \e
setWindowProperty function of the native interface to set the \e qnxWindowGroup property
to the desired value, for example:

\code
QQuickView *view = new QQuickView(parent);
view->create();
QGuiApplication::platformNativeInterface()->setWindowProperty(view->handle(), "qnxWindowGroup",
                                                              group);

所以我的问题是在这种情况下什么是“组”,如果有人可以显示使用此界面剪断的代码?

感谢您的回复!

1 个答案:

答案 0 :(得分:0)

这段代码更正,在QNX中你可以加入由不同进程创建的窗口组窗口。在这种情况下,组是QVariant()

这是一个元例子:

#include <QGuiApplication>
#include "QtGui/5.3.1/QtGui/qpa/qplatformnativeinterface.h"
......
QQuickView *view = new QQuickView(parent);
view->create();
QGuiApplication::platformNativeInterface()->setWindowProperty(view->handle(), "qnxWindowGroup",QVariant("MyGroup"));
......

请试一试,希望它有所帮助,但说实话,我没有改变自己测试它。