【问题标题】:Dynamically add QWebEngineView to layout动态添加 QWebEngineView 到布局
【发布时间】:2017-10-20 20:41:02
【问题描述】:

我正在尝试将 QWebEngineView 动态转换为现有布局。

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QWebEngineView view;
    view.setUrl(QUrl(QStringLiteral("http://www.qt.io")));
    view.resize(1024, 750);
    view.show();
    ui->splitter->addWidget(view);  
}

运行时我得到error: C2664: 'void QSplitter::addWidget(QWidget *)': cannot convert argument 1 from 'QWebEngineView' to 'QWidget *'

我正在尝试创建用于在本地文件系统中预览和编辑 html/text/image 文件的程序。这意味着我需要在主窗口中为不同的任务切换小部件。在我的设计器表单中,我尝试添加 QWebEngineView 的拆分器布局。

我尝试了来自 Qt Designer for WebEngine 和 WebKit 的默认示例。它们按计划工作,但不是使用 UI 布局,而是仅使用代码来添加和管理小部件。我想使用表单布局,这意味着这个选项不适合我。

我该如何解决这个问题? 这是我想要实现的可行解决方案还是有更好的解决方案?

【问题讨论】:

  • 无法从实例转换为指针...

标签: c++ qt qt5


【解决方案1】:

试试这个方法:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QWebEngineView *view;
    view = new QWebEngineView(this);
    view->setUrl(QUrl(QStringLiteral("http://www.qt.io")));
    view->resize(1024, 750);
    view->show();
    ui->splitter->addWidget(view);  
}

【讨论】:

    猜你喜欢
    • 2014-01-25
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多