You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Qt/QML的PdfMultiPageView自定义搜索高亮样式?

为PdfMultiPageView应用自定义PdfStyle的方法

PdfMultiPageView本身确实没有直接暴露style属性,但它的每页内容是通过pageDelegate(页委托)来渲染的,我们可以自定义这个委托,在其中使用带自定义样式的PdfPageView来实现搜索高亮的自定义效果。

具体实现代码如下:

PdfMultiPageView {
    id: mpv
    anchors.fill: parent
    document: doc
    searchString: "example"

    // 自定义页委托,使用带自定义样式的PdfPageView
    pageDelegate: PdfPageView {
        document: mpv.document
        pageIndex: model.index
        style: pdfStyle // 关联自定义的PdfStyle
    }
}

PdfStyle {
    id: pdfStyle
    currentSearchResultStrokeColor: "yellow"
    currentSearchResultStrokeWidth: 2
    selectionColor: "orange"
}

关键说明

  • pageDelegate是PdfMultiPageView用来渲染单页PDF的核心组件,替换为自定义的PdfPageView实例后,就能为每页绑定我们定义好的PdfStyle。
  • 委托中的model.index会自动匹配当前需要渲染的页码,确保所有页面都能统一应用样式设置。
  • 完成上述设置后,搜索结果的高亮颜色、选中区域颜色等样式效果,就会按照你定义的PdfStyle生效。

内容的提问来源于stack exchange,提问作者Matteo Giampaoli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 12:39:51