【问题标题】:Qt find word function with QWebEngineQt 使用 QWebEngine 查找单词功能
【发布时间】:2017-01-07 16:43:45
【问题描述】:

我使用 Qt 5.7 和 webEngine 创建了一个简单的 Web 浏览器。 我想创建一个搜索功能来在 webView 中查找单词,但我真的不知道如何在 Web 内容和 Qt 之间进行交互(我是 Qt 的新手,我这样做是为了好玩并提高我的水平)。

这是显示 WebView 的最小代码: main.cpp

#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    MainWindow w;
    w.showMaximized();

    return a.exec();
}

mainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtWebEngineWidgets>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void setWebEngine();

private:
    Ui::MainWindow *ui;
    QWebEngineView *view;    
};

#endif // MAINWINDOW_H

mainWindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    setWebEngine();
    setCentralWidget(view);
}

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

void MainWindow::setWebEngine()
{
    view = new QWebEngineView();
    view->load(QUrl("http://www.google.com"));
}

我想知道点别的,是否可以列出网页内容中的元素(form、h1、h2、...)

祝你有美好的一天,对不起我的英语;)

【问题讨论】:

  • 第二个问题是什么意思?抱歉,请在询问之前考虑阅读文档 (doc.qt.io/qt-5/qwebengineview.html)。 cmets xD中如何使用链接?
  • 我想说是否有可能在网页中找到
    等元素,例如,获取它们的内容或对其进行修改。
  • 感谢您的回答,寻找文本。如果您对我的第二个问题有任何想法,那可以帮助我完成另一个项目 =)
  • 这似乎是另一个问题。我认为这是一个值得多问的问题。
  • 所以,我再发个帖子哈哈,谢谢你的帮助;)

标签: c++ qt qtwebengine


【解决方案1】:

来自Qt5 documentation

void QWebEngineView::findText(const QString &subString, QWebEnginePage::FindFlags options = QWebEnginePage::FindFlags())

使用给定的在页面中查找指定的字符串 subString 选项。

要清除选择,只需传递一个空字符串。

另见 selectedText() 和 selectionChanged()。

应该很简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 2018-03-28
    相关资源
    最近更新 更多