Как открыть веб-инспектор в QWebView?

Я хочу открыть веб-инспектор QWebView в моем приложении, потому что необходима отладка в QWebView.

Как я могу это сделать?


Согласно документации я пробовал:

view->pageAction(QWebPage::InspectElement)->trigger();

это не сработало, а потом я попробовал это:

view->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);

QWebInspector inspector;
inspector.setPage(view->page());
inspector.setVisible(true);

это добавляет элемент элемента Inspect в контекстное меню.

Как я могу показать веб-инспектора из кода? Я открываю его, используя правую кнопку мыши -> Проверить элемент.

Я не хочу добавлять его как виджет, а как отдельное окно.

1 ответ

Решение

Оставьте только вызов setAttribute. Тогда вы сможете вызвать инспектора из контекстного меню.

Приведенный ниже код не является оптимальным, но он показывает, как части работают вместе.

Чтобы добавить это в немодальный диалог:

QDialog dlg;

...

QWebInspector *i = new QWebInspector(this);
dlg.setLayout(new QVBoxLayout());
dlg.layout()->addWidget(i);
dlg.setModal(false);
dlg.show();
dlg.raise();
dlg.activateWindow();

Ваш QDialog должен быть членом класса.

Другие вопросы по тегам