hitTestContent 在 QtWebkit 中的文本上不返回任何内容



我在qtwebkit qwebview中检测到单击的元素时遇到问题。

不知道为什么,但是在寻找属性时,单击文档中的文本时我什么也没得到

void APP_Orders::contextMenuEvent(QContextMenuEvent *event)
{
        QWebHitTestResult hit = page()->mainFrame()->hitTestContent(event->pos());
        QWebElement hitElement = hit.element();
        QString ctx = hitElement.attribute("ctx","none");
        while(ctx == "none")
        {
            hitElement = hitElement.parent();
            ctx = hitElement.attribute("ctx","none");
        }

        qDebug() << ctx;
}

在我的文档中,我的身体上有一个 ctx 属性。无论我单击何处,我都会在调试中获得正文的 ctx 属性,这是预期的行为,但是当我单击文本时,它似乎不在文档中......应用程序在无限循环后崩溃。即使我看XML内容或父母,祖父母格兰祖父母XML内容总是一个空字符串......

知道为什么吗???

好的,一位同事找到了这个解决方法。 如果有人需要,请分享它...

void APP_Orders::contextMenuEvent(QContextMenuEvent *event)
{
        QWebHitTestResult hit = page()->mainFrame()->hitTestContent(event->pos());
        QWebElement hitElement = hit.element();
        QString ctx = hitElement.attribute("ctx","none");
        if(ctx == "")
        {
            hitElement = hit.enclosingBlockElement();
            ctx = hitElement.attribute("ctx","none");
        }
        while(ctx == "none")
        {
            hitElement = hitElement.parent();
            ctx = hitElement.attribute("ctx","none");
        }

        qDebug() << ctx;
}

相关内容

  • 没有找到相关文章

最新更新