【问题标题】:How to have unselectable portion of text in QTextEdit/QTextDocument?如何在 QTextEdit/QTextDocument 中有不可选择的文本部分?
【发布时间】:2015-11-28 13:59:14
【问题描述】:

假设我在 QTextEdit 中有这样的文本:

这是示例文本

“样本”一词应被视为 1 个单个字符,即当我尝试选择它时,要么应选择单词中的所有字符,要么不选择任何字符。同样,当我用左/右键导航文档时,光标应该相信整个单词是一个单一的原子项目,即如果光标在单词的末尾,按左键应该跳到单词的开头,反之亦然反之亦然。退格应该删除整个项目。

我能想到的最好的事情是动态生成带有该单词的图像并将其插入到正确的位置,但这感觉非常hacky,我想知道是否有更好的方法来做到这一点?

【问题讨论】:

    标签: qt qtwidgets


    【解决方案1】:

    我可以建议朝以下方向发展:

    1. QTextEdit 的子类。
    2. 在其中重新实现 mousePressEvent():
    3. 获取光标下的单词。
    4. 选择字词或突出显示它。

    【讨论】:

    • 谢谢,我试图避免选择/箭头/退格键逻辑的任何自定义实现,希望可以使用本机 API 完成一些事情。只是要考虑的边缘案例数量可能会使这种方法变得相当困难。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多