问题标签 [qtextedit]

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.

0 投票
2 回答
15396 浏览

c++ - 在 QTextEdit 中放置图像的几种方法

我认为这是一个非常简单的问题,但是当我复制图像时,我无法将其粘贴到 QTextEdit 中?粘贴无效!我也想知道如何拖放图片。

顺便说一句,我使用以下代码将图片插入 QTextEdit:

推荐吗?你是怎么做这个手术的?

0 投票
2 回答
1265 浏览

c++ - 如何实现 QTextDocument 序列化

这个问题我之前问过,刚刚得到的答案是有一个开放的错误。但这是一个真正需要的功能,我猜,每个编写或多或少严肃的应用程序的 Qt 程序员,很可能使用 QTextEdit 并且插入 QTextEdit 的数据被序列化和反序列化。因此,我认为这个问题非常重要,它对许多 Qt 开发人员很有用。所以我决定和优秀的程序员讨论如何实现operator<<(QDataStream, QTextDocument)。否则,我们应该等待 Qt 的人愿意自己做这件事:)。

所以说在 QTextEdit 我有一些图片和文字。在不同的片段中,文本具有不同的格式。如何获取这种 QTextEdit 的内容以及如何序列化,以便按原样显示?

编辑:我知道我可以通过使用返回 QTextDocument 的 documnet() 方法获取格式化的文本和图像。我也知道 QTextDocument 没有 operator<<(QDataStream, QTextDocument) 并且有写入此运算符的请求,但它仍然是打开的。所以请帮我写这个方法。我想我应该继承 QTextDocument 类,然后添加一个新成员(一个容器)来存储 QTextEdit 中存在的所有资源名称。然后我应该通过使用我定义的容器对它们进行迭代来序列化所有资源。这是一个很好的解决方案吗?如果是,那么你能帮我实施吗?如果没有,请给我一个更好的主意。

0 投票
1 回答
3034 浏览

qt - 滚动 QTextBrowser 到顶部

我有以下内容:

不幸的是,在设置 DetailsTextBrowser 的 HTML 内容后,文档将滚动到底部。

我试过没有成功:

有没有办法将 QTextBrowser 滚动到顶部?

0 投票
2 回答
972 浏览

c++ - 如何创建一个类,该类是在文本编辑上方具有 QTextEdit 和 QToolBar 的小部件

我的意图是创建一个带有到达文本控件的 QTextEdit。我想放在工具栏中的控件。但是我很难控制布局。问题是,如果我将 QTextEdit 放在具有工具栏的 QWidget(我的类继承 QWidget)中,则会出现重叠。

我尝试的另一种方法如下:我的类继承了 QTextEdit,它有一个工具栏。现在布局不同了,但不是我想要的。请帮助我有一个很好的看法。

0 投票
1 回答
6916 浏览

c++ - 如何通过按下按钮来格式化 QTextEdit 中的选定文本

我想通过单击按钮来格式化 QTextEdit 中的选定文本。例如,如果它不是粗体,我想将其设为粗体,如果它是粗体,则将其设为非粗体。请帮我举个例子。

编辑:

实际上我已经找到了一个代码 - 用于文本编辑器的 qt 演示,它可以满足我的需要:

但我不明白什么返回textCursor()方法,以及属性的合并是如何完成的?只是一些格式正在改变,其中一些保持不变。mergeCharFormat函数如何理解要更改的内容和保持原样的内容。请解释一下这2件事。谢谢。

0 投票
2 回答
5940 浏览

c++ - 如何使用 Qt 创建项目符号或编号列表?

如何通过单击按钮在 QTextEdit 中使用 Qt 创建项目符号或编号列表?此外,有必要列出通过单击相同按钮选择的段落。而当光标在列表中并单击按钮时,列表项变为非列表项,而是一个简单的段落。简而言之,我想为我的文本编辑器创建 2 个按钮,它们的工作方式与(项目符号和编号按钮是 MS Word)相同。

0 投票
1 回答
977 浏览

qt - Qt WYSIWYG 编辑器 - 不可编辑/生成的区域

我正在开发一个所见即所得的文档编辑器。该编辑器是围绕 Qt 框架构建的,因为 Linux/KDE 是它将运行的主要平台。

到目前为止,我一直在使用 QTextEdit 小部件,并且已经获得了基本的文本编辑和格式设置。但是,我对如何实现以下要求陷入了停顿:

一个文档被分成多个级别的标题,并且顶部必须有一个自动生成的目录。

您应该能够为一段文本(标题 1、标题 2、...、段落)选择样式,如果您选择标题样式,则该行以节号为前缀。

例如,包含文本“设计规范”且样式为“标题 3”的段落可能显示为:

3.4.2 设计规范

自动生成带前缀的节号“ 3.4.2 ”的位置。当在其上方插入和删除标题时,节号应更新。用户不应自己修改或删除此前缀。如果他们确实删除了前缀,则该段落应恢复为“段落”样式,而不是保留标题。

随着标题被插入/修改/删除,目录应该自动更新。用户也不应该能够修改或删除目录。

我被困在如何在我的编辑器中实现该功能。我正在考虑存储一棵不可编辑范围的树(包括目录和每个前缀的范围),并且每次光标位置/当前选择更改时,如果选择重叠,我会将 QTextEdit 控件设置为只读或光标在一个范围内。但随之而来的问题是,每次修改某些内容时都要使所有这些范围保持最新(重建树),这在所见即所得的编辑器中很常见。

我被困在如何继续下去,我将不胜感激有关此事的任何建议。

0 投票
3 回答
3698 浏览

c++ - 如何在 QTextEdit 中调整图像大小?

如何单击图像,从它的一角按住,并在 QTextEdit 中调整图像的大小?或者至少如何获得光标下的图像/为了改变宽度和高度而被选中?

0 投票
1 回答
1051 浏览

qt4 - 在 QTextEdit 中查找文本并将行滚动到顶部

有一个包含搜索关键字的 QListWidget 和一个包含一些文本的 QTextEdit。单击其中一个关键字应该会匹配 QTextEdit 中的单词并将相应的行滚动到顶部。

我将 QListWidget 和 QTextEdit 与信号/插槽连接并执行 QTextEdit::find(),这几乎会导致所需的行为。但不幸的是,包含关键字的行没有滚动到顶部,而是在 QTextEdit 的底部。我怎样才能轻松实现我的目标?

谢谢你的帮助,

克里斯

0 投票
8 回答
6531 浏览

c++ - 我想制作自己的源代码编辑器,有什么好的选择?

我已经拥有了几十个从不提供简单内容的编辑器,例如:

  • 区分类型关键字和指令关键字,以便我可以在它们上放置不同的颜色。
  • 跨平台使用像 qt gtk 等标准 GUI 库(记事本++,是的,我几乎恨你)。
  • 足够的键盘快捷键,例如重复行、注释选择和不错的查找替换。
  • 体面的任务缓和功能,例如单击数字行边距以选择整行。
  • Scintilla 或其他足够好的词法分析器可以突出显示足够多的不同事物,因为大脑编译代码是一回事,用眼睛快速识别什么是我认为重要的事情。

我只想支持非常基本的语言,比如 C、C++,也许是 Python,而不是 HTML 或 CSS。

Scintilla 是突出显示这些语言的好选择吗,词法分析器真的有必要吗?

QT 还不足以编写我想做的文本编辑器吗?我知道有 QScintilla,但是有没有理由我不应该使用集成了 lexer 的库?为什么 Scintilla 是一个这么好的库?

QT 对于这样的编辑器是一个不错的选择吗?(我还想在编辑器中硬嵌入 ProFont 以消除操作系统之间的任何不情愿的字体问题)。

编辑:简而言之,我想做一个编辑器,只有notepad++的语法高亮功能。这是我的主要目标,QScintilla 的使用可能比我想象的要难一些......

EDIT2:好吧,我找到了textadept,它并不为人所知,但非常棒。我没有设法制作我的词法分析器,因为我在 Windows 下还有其他事情要做,不幸的是它在 mac 上很慢。显然 Mac 上没有任何 Scite 官方版本。