gpt4 book ai didi

linux - 我可以从 QTextEdit 检索文本光标处字符的文本颜色(或背景颜色)吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:02 27 4
gpt4 key购买 nike

我有一个 QTextEdit 窗口,其中的单词和字母以多种颜色显示。我希望能够在处理窗口内容时检索文本各部分的颜色。到目前为止,我的尝试是将整个内容保存为一个 html 文件,然后对其进行解析以仅提取具有颜色信息的文本。这是非常麻烦和困难的。如果我可以在光标位置检索文本的颜色,我更愿意使用 QTextCursor 处理文本。我已经搜索了合适的功能,但没有找到。

是否有检索 QTextCursor 位置的颜色(或格式)的函数?

或者是否有一种方法可以检索具有与格式信息相同颜色(或格式)的单词和/或字符的每个连续部分?

最佳答案

好吧,我找到了一种方法来做我想做的事。相关代码如下:

QTextCursor tc = qte->textCursor();
tc.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor);
while(tc.movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor))
{
QTextCharFormat tcf = tc.charFormat();
int bg = tcf.background().color().rgb();
int fg = tcf.foreground().color().rgb();
printf("bg=%x fg=%x\n", bg, fg);
}

欢迎提出任何意见或改进。

[更正以上]:我原来有

QColor bg = tcf.background().color().rgb();
QColor fg = tcf.foreground().color().rgb();

但是在 .rgb() 的最后,它将 QColor 转换为 int

关于linux - 我可以从 QTextEdit 检索文本光标处字符的文本颜色(或背景颜色)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36973203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com