当QDockWidget与QWebEngineView取消停靠时,其他停靠的小部件不响应用户操作

时间:2017-12-20 16:16:04

标签: c++ qt

我的主窗口中有多个dockwidgets,一切正常,直到我添加一个带有QwebEngineView的dockedwidget作为小部件。

当使用QwebEngineView作为子项的dockwidget未对接时,将忽略其他停靠窗口小部件中的滚动条等用户输入。当停靠QWebEngineView的dockwidget时,它工作正常。

我正在测试的代码是示例项目    .. \ Qt 5.6 \ widgets \ mainwindows \ dockwidgets 稍作修改,再添加一个带有QWebEngineView的dockedwidget(见下文)。

///// added this in void MainWindow::createDockWindows()

WebView* w_view = new WebView(nullptr);
dock = new QDockWidget(tr("WebView"), this);
dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
dock->setWidget(w_view);
addDockWidget(Qt::LeftDockWidgetArea, dock);
viewMenu->addAction(dock->toggleViewAction());


///  the widget with QWebEngineView
class WebView : public QWidget {
     Q_OBJECT
 public:
 WebView(QWidget* parent = 0)
    :QWidget(parent)
{
    setObjectName("WebView");
    m_webEngineView = new QWebEngineView(this);
    m_webEngineView->load(QUrl("http://qt-project.org/"));
}

    ~WebView() {}
private:
    QWebEngineView* m_webEngineView;
};
///////////////////////////

任何帮助?

0 个答案:

没有答案