简体   繁体   English

动态将QWebEngineView添加到布局

[英]Dynamically add QWebEngineView to layout

I'm trying to dynamically QWebEngineView to already existing layout. 我正在尝试动态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);  
}

When running this i'm getting error: C2664: 'void QSplitter::addWidget(QWidget *)': cannot convert argument 1 from 'QWebEngineView' to 'QWidget *' 运行此命令时error: C2664: 'void QSplitter::addWidget(QWidget *)': cannot convert argument 1 from 'QWebEngineView' to 'QWidget *'

I'm trying to create program for previewing and editing html/text/image files in local file system. 我正在尝试创建用于在本地文件系统中预览和编辑html / text / image文件的程序。 This means that i need to switch widget in main window for different tasks. 这意味着我需要在主窗口中切换小部件以执行不同的任务。 In my designer form I have splitter layout in which I'm trying to add QWebEngineView. 在我的设计器表单中,我有拆分器布局,在其中尝试添加QWebEngineView。

I tried default examples from Qt Designer for WebEngine and WebKit. 我尝试了来自Qt Designer的WebEngine和WebKit默认示例。 They work just as planned but instead of using UI layout they are using only code for adding and managing widgets. 它们按计划工作,但未使用UI布局,而是仅使用代码添加和管理窗口小部件。 I want to use form layouts, which means that this option is not suited for me. 我想使用表单布局,这意味着此选项不适合我。

How i can fix this issue ? 我该如何解决这个问题? Is this viable solution for what i'm trying to achieve or there is a better one ? 这是我想要实现的可行解决方案,还是有更好的解决方案?

Try this way: 尝试这种方式:

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);  
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM