拖放不适用于使用QWidget :: createWindowContainer捕获和嵌入的Qt Widgets应用程序

时间:2018-04-30 13:07:11

标签: c++ qt qt5

我有一个使用QWidget::createWindowContainer捕获和嵌入其他应用程序的应用程序。以下是负责此事的代码:

void MainWindow::capture( WId wid )
{
    auto window = QWindow::fromWinId( wid );
    auto widget = QWidget::createWindowContainer( window );
    ui->ContentFrame->layout()->addWidget( widget );
}

捕获应用程序并成功添加到布局中,但拖放在捕获的应用程序中不起作用。拖动窗口小部件时,如果窗口小部件保留在捕获的应用程序上,则光标会显示X,并且不会导致任何结果。

我尝试确保在新创建的窗口小部件,嵌入的窗口小部件和捕获对话框中使用setAcceptsDrops()setAttribute( Qt::WA_AcceptDrops )实际启用了拖放功能,但是这似乎没有任何区别。

拖放功能可以在捕获的应用程序自行启动时捕获,但不会捕获。这似乎是捕获过程打破了拖放。有什么我需要手动做以确保它在我的场景中有效吗?

一些额外的信息:我正在使用Utntu 16.04上的Qt 5.5.1进行开发。正在捕获的应用程序使用捕获应用程序中的QProcess启动。

0 个答案:

没有答案