8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何使用 RichText textFormat 跳转到大型 Qt/QML 文本项中的 href 哈希标签位置

Hyper 1月前

18 0

我使用 Qt/QML Text Item 渲染带有一些内部 href 哈希链接的大型独立 HTML 页面。容器高度小于其内容高度。一切正常;我可以单击链接...

我使用 Qt/QML Text Item 渲染带有一些内部 href 哈希链接的大型独立 HTML 页面。容器高度小于其内容高度。一切正常;我可以单击链接并查看控制台日志,但我无法将文本项的可视位置跳转到 href 标签位置。请帮忙。

当我单击 href 链接时,容器中文本项的 y 属性应该已经更新。

为了简化我的问题,让我在这里给出一个最小的可重现的例子。

import QtQuick

Window {
    id: root
    width: 640
    height: 480
    visible: true

    Rectangle {
        id:container
        height: root.height*.95
        width: root.width*.8
        anchors.centerIn: parent
        Text {
            id: label
            width: container.width
            textFormat: Text.RichText
            wrapMode:Text.WordWrap

            onLinkActivated: function(link){
                console.log(link)
            }
            TapHandler {
                onTapped:function(eventPoint, button){
                    ani.running = !ani.running
                }
            }
            SequentialAnimation on y {
                id: ani
                loops: Animation.Infinite
                running: true
                PropertyAnimation { to: -label.contentHeight/100;duration: 3000 }
                PropertyAnimation { to: 0 ;duration: 3000}
            }
        }
    }
    function makeRequest()
    {
        var doc = new XMLHttpRequest();
        label.text = "";
        doc.onreadystatechange = function() {
            if (doc.readyState === XMLHttpRequest.DONE) {
                label.text = doc.responseText;
            }
        }
        doc.open("GET", "https://www.mpfr.org/mpfr-current/mpfr.html");
        doc.send();
    }
    Component.onCompleted: {
        // label.text = backEnd.loadFile("C:/ebook/GNU MPFR 4.2.1.htm")
        makeRequest()
    }
}

URL 链接 手动下载 HTML 文件 。现在我想单击蓝色链接,希望文本项自行滚动到准确的标签位置。

app shuold be like this

帖子版权声明 1、本帖标题:如何使用 RichText textFormat 跳转到大型 Qt/QML 文本项中的 href 哈希标签位置
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Hyper在本站《qt》版块原创发布, 转载请注明出处!
最新回复 (0)
返回
作者最近主题: