gpt4 book ai didi

c++ - QWebInspector 无法正常工作

转载 作者:太空狗 更新时间:2023-10-29 21:25:37 28 4
gpt4 key购买 nike

我在我的 QT 项目中包含了 QWebInspector 并尝试在我的代码中使用它(不完全确定如何,因为我对 QT 还很陌生)我得到一个空白的 Web Inspector 屏幕,所以我认为 page() 正在返回无效的?我哪里出错了,还是这仅适用于 HTML5 应用程序?

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGui>
#include <QSsl>
#include <QSslError>
#include <QNetworkReply>
#include <QtDebug>
#include <QWebInspector>
#include <QGraphicsWebView>
#include <QMessageBox>
#include "Windows.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//this->setGeometry(50,50, 1280, 768);
setWindowState(Qt::WindowMaximized);
//MainWindow::showMaximized();
this->centralWidget()->setLayout(new QGridLayout);
m_pWebView = new QWebView(this);

//Detect any SSL errors from the network reply
connect(m_pWebView->page()->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError> & )),
this, SLOT(onSslErrors(QNetworkReply*, const QList<QSslError> & )));

this->centralWidget()->layout()->addWidget(m_pWebView);
//set position and size
m_pWebView->load(QUrl("https://csm.nathan"));




//m_pWebView->show();

QMenu *trayIconMenu;
minimizeAction = new QAction("Minimize", this);
restoreAction = new QAction("Restore", this);
quitAction = new QAction("Exit", this);

connect (minimizeAction, SIGNAL(triggered()), this, SLOT(hide()));
connect (restoreAction, SIGNAL(triggered()),this,SLOT(showMaximized()));
connect (quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
trayIconMenu = new QMenu(this);
trayIconMenu->addAction (minimizeAction);
trayIconMenu->addAction (restoreAction);
trayIconMenu->addAction (quitAction);
QSystemTrayIcon* systray = new QSystemTrayIcon(this);
//connect(systray, SIGNAL(messageClicked()), this, SLOT(messageClicked()));
QIcon icon("csm-logo.png");
systray->setIcon(icon);
systray->setContextMenu (trayIconMenu);
systray->show();
if(systray->isVisible()){
systray->showMessage("CytoViewer v1.0", "The CytoViewer has been started!", QSystemTrayIcon::NoIcon, 10000);

//QMessageBox msgBox;
//msgBox.setWindowTitle("HELP");
//msgBox.setInformativeText(m_pWebView->page());
//msgBox.exec();

//Enable developer extras in the webviewer settings
m_pWebView->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
//Instantiate QWebInspector
QWebInspector inspector;

inspector.setPage(m_pWebView->page());

inspector.setVisible(false);
}

}

void MainWindow::onSslErrors(QNetworkReply* reply, const QList<QSslError> &errors)
{
qDebug() << "handleSslErrors: ";
foreach (QSslError e, errors)
{
qDebug() << "ssl error: " << e;
}
//Suppress any SSL errors
reply->ignoreSslErrors();
}

MainWindow::~MainWindow()
{
delete ui;
}


void MainWindow::closeEvent(QCloseEvent *event)
{
QMessageBox::information(this, tr("Systray"),
tr("The program will keep running in the "
"system tray. To terminate the program, "
"choose <b>Exit</b> in the context menu "
"of the system tray entry."));
hide();
event->ignore();
}

void MainWindow::messageClicked()
{
QMessageBox::information(0, "CytoViewer Message", "You're application is up and running!");
}

Web Inspector shows blank screen

最佳答案

更改为

QWebInspector *inspector = new QWebInspector();
inspector->show();

并且不要忘记调用 delete

关于c++ - QWebInspector 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13683780/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com