gpt4 book ai didi

QTextEdit : how to save images inserted with QTextCursor?

转载 作者:行者123 更新时间:2023-12-05 08:59:41 24 4
gpt4 key购买 nike

我用 QTextCursor 将几张图片插入到 QTextEdit 中,现在我应该如何保存这整个东西?

我的第一个想法是遍历 QTextCursor 的所有位置,但我没有找到合适的接口(interface)来使用。

使用中的示例代码:

QTextCursor cursor = ui->textEdit->textCursor();
cursor.insertImage(QImage ("/secure/Common/Pictures/icons/gimp.svg"));
ui->textEdit->setTextCursor(cursor);

QTextDocument *document = ui->textEdit->document();
QStringList images;
QTextBlock b = document->begin();
while (b.isValid()) {
for (QTextBlock::iterator i = b.begin(); !i.atEnd(); ++i) {
QTextCharFormat format = i.fragment().charFormat();
bool isImage = format.isImageFormat();
if (isImage)
{
images << format.toImageFormat().name();
qDebug() << document->resource(QTextDocument::ImageResource,
QUrl(format.toImageFormat().name())).toByteArray().size();
}
}
b = b.next();
}

最佳答案

快速而简单的解决方案

只需调用 document->toHtml() 并解析 img 标签。

清洁溶液

遍历文本中的所有QTextFragment:

QStringList images;
QTextBlock b = document->begin();
while (b.isValid()) {
for (QTextBlock::iterator i = b.begin(); !i.atEnd(); ++i) {
QTextCharFormat format = i.fragment().charFormat();
bool isImage = format.isImageFormat()
if (isImage)
images << format.toImageFormat().name();
}
b = b.next();
}

警告:我没有对此进行测试,它甚至可能无法编译。

关于QTextEdit : how to save images inserted with QTextCursor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11379783/

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