问题标签 [qtextdocument]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
css - QTextDocument 中的自定义字体
我正在尝试从中生成 PDF 文件QTextDocument
,它工作得很好。当我只想为特定<p></p>
对象使用自定义字体时,问题就出现了。我尝试使用标准方法QFontDatabase::addApplicationFont()
成功地将字体加载到应用程序中,但由于某种原因,它写入了所有QString
添加到此字体中的基础变量,messageBody
而不是由 指定的QTextFocument.setDefaultFont()
,甚至是手动的 via style={font-family:}
。
我做错了,还是在这里忽略了某些东西,或者这是某种错误?
主文件
输出 PDF 如下所示:
我无法理解为什么/如何将基本QString(messageBody)与连接到它的那些(serialNumber)区分开来?
编辑::尝试实施下面建议的 style.css 解决方案后输出没有变化
主文件
样式.css
qt - Qt:如何使用自定义属性保存 QTextEdit 内容
我有一个文本编辑器(QTextEdit)。我的编辑器中的某些单词包含附加信息(即,该单词在波形文件中的两个对应整数位置)。它们作为 QTextCharFormat 对象的自定义属性存储在 Python 对象中(我使用如下代码附加它们self.editor.textCursor().setCharFormat(QTextCharFormat().setProperty(MyPropertyID, myWordAttachment)
:)
不幸的是,如果我将文档保存为 html,那么所有这些额外的格式都会丢失。
所以,我想执行最简单的任务:用所有格式保存我的文档,包括 myWordAttachment(并从磁盘加载它)。
Qt5没有准备好东西,我必须自己编写所有文档的序列化代码,我是对的吗?(我仍然希望完成这项工作的简单功能在哪里)
c++ - QTextDocument:获取特定页面的内容
给定QTextDocument
具有特定宽度和高度的 a ,有没有办法在给定页码的情况下获取给定页面的内容(如果页面上有图像,则为纯文本 + 图像 URL)?
这是我想要实现的示例:
这应该打印:
通常,p 标签中的文本可以跨越多个页面,并且图像保证最多跨越一页,以防万一。
python - QTextBlock 或 QTextFrame 迭代器如何在 PyQt 中工作
使用 QTextDocument 时,Qt 提供迭代器(例如 QTextBlock.iterator)来移动内容。这里的文档显示了 C++ 代码,但显然++
操作符不起作用,而且 PyQt 版本似乎没有任何类似next()
函数的东西。
那么如何让迭代器迭代呢?
QTextFrame.begin (返回迭代器)的文档有一个到“STL-style-Iterators”的链接断开,但我找不到这些在 Python 中实现的任何细节。
c++ - 停止 QTextCursor::insertText() 修改 QTextDocument 滚动条范围
我有一个QTextEdit
包含 a 的QTextDocument
,正在使用QTextCursor
界面以编程方式对其进行编辑。正在使用 编辑文档QTextCursor::insertText()
。
QTextDocument
我以块的形式加载正在编辑的文本文件,因此即使文档是 100,000 行,初始大小也可能只有 20 行。但是,我希望QTextEdit
滚动条反映文档的完整大小,而不仅仅是当前显示的 20 行文档。
QTextEdit 的滚动条范围设置QScrollBar::setMaximum()
为在文件初始打开时将滚动条调整为适当的大小,但在QTextCursor::insertText()
调用时QScrollBar
会重新计算 ' 范围。
我已经尝试QScrollBar::setMaximum()
在每个QTextCursor::insertText()
事件之后调用,但这只会让整个 UI 变得生涩和草率。
有什么办法可以保持修改QScrollBar
时的范围QTextDocument
?
python-3.x - Python Adding Pictures and headers to QPrintWidget
How can I add a header and a picture to my QPrintWidget /Printout ?
I found this really nice looking layouted outputfile. I would love to make my file look somthing like that. I tried to find a tutorial explaining how to do the 'layouting' of a file, but could not find any.
I would be really glad about some suggestions/help.
So far this is mycode, where the table is beeing drawn from the QTableWidget:
c++ - 如何使用 QTextDocumentFragment 在 QTextEdit 中设置图像和文本的大小
在我之前的帖子之后,我正在使用QTextEdit
. 它的工作方式是每次用户与用户界面交互时,操作都会记录在QTextEdit
如下所示的命令日志中。我成功地将图像与每个操作相关联(例如,按下按钮、选中框等),但是正如您在下面的打印屏幕中看到的那样,图像没有调整大小,并且每次用户执行某项操作时,图像都是放在另一个旁边:
怎么了:
预期:
下面的代码片段:
主窗口.h
主窗口.cpp
我发现这个有用的资源有助于如何处理里面的图像QTextEdit
。但是,我没有找到任何可以清楚地解释如何调整QTextDocumentFragment
内部 aQTextEdit
及其相关文本的内容,如下所示:
如何设置内部QTextEdit
使用的图像和文本的大小QTextDocumentFragment
?
任何可以提供任何见解的人都会非常有帮助。
c++ - 通过 QStyledItemDelegate 以不同颜色显示 QTableWidgetItem 的文本
我想以QTableWidgetItem
不同的颜色显示 a 的部分文本(其中一部分应该显示为红色)。
我发现使用 a QStyledItemDelegate
,重新实现paint
函数并显示QTextDocument
使用项目文本并添加 HTML 的 a 。
这将为文本启用 HTML:
但是,与“正常”显示相比,结果有一些像素偏移(很可能以一致的方式修复),但我想知道是否有更简单的方法。我根本不需要 HTML,我只想更改部分文本的颜色。
那么是否可以绘制项目的文本(逐个字母)并为每个字母设置颜色而无需使用QTextDocument
?
pyqt5 - 标记 QTextDocument 的特定部分
我必须编辑已在语义上标记的文档。
假设我有一个 HTML 文档,其中部分或所有段落(或跨度)已被标记为特定的类名,例如:<p class="bio"><span class="name">John</span><span class="surname">Doe</span>is a <span class="job">carpenter</span> living in <span class="place">York</span>.</p><p class="story">He was working at his bench when...</p>
我想使用 QTextEdit 小部件来编辑此类文本(如果可能)。
附加要求是:
- 每个都
class
应该有特定的图形渲染(这应该很容易使用 CSS)。 - 编辑特定
<span>
应该保留class
(即:如果我编辑“John”->“Jonathan”它应该仍然有class="name"
)。 - 我应该能够应用于
class
特定的文本片段(即:选择一些文本,打开上下文菜单并选择可能的class
es 之一)。 - 从选择中删除标记。
- 序列化已编辑的文本(即:遍历已编辑的文本,识别
class
更改并能够生成我想要的任何标记)。 - Note
class
es 可以相互包含(但不能部分重叠);这意味着某些代码有两个(或更多)class
es。
这可以通过标准方式实现吗?
据我所见,QTextDocument 和相关类(例如:QTextFrame、QTextFormat 等)面向视觉表示(字体样式、颜色等),而我需要一些可能会或可能不会反映在视觉变化中的“逻辑”标记. 我的意思是:文本可以全部使用相同的字体/颜色/背景,但是将光标移到它上面我应该能够列出class
在该特定位置(如果有的话)中所有活动的 es。
如果相关的话,我正在使用 PyQt5 进行编码。
我似乎看到实现这一目标的唯一(相当丑陋!)方法是使用QTextCharFormat
'tooltip
属性来存储每个QTextFragment
. 有更好的选择吗?