问题标签 [qplaintextedit]
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.
python - 在 PyQt 中透明地获取退格事件
我想检测何时在 QPlainTextEdit 小部件中按下退格键。
我有以下代码:
(在继承自 QPlainTextEdit 的类中)
问题是现在按退格键(或任何其他字符键)不会将字符插入文本框中。我可以检查每个键并这样做,但是,特别是对于大文件,删除最后一个字符可能效率低下、速度慢并导致代码混乱。
有没有更好的方法来做到这一点?
c++ - 如何检测字符串是否是变量在编写QPlainTextEdit的代码编辑器中?
我正在用QPlainTextEdit编写一个javascript代码编辑器,现在我正在用QCompleter进行代码完成。问题是我不知道明文中哪个字符串是变量。我首先根据关键字检测变量,例如
但是当用户粘贴多行或删除多行,或者用户只删除现有“变量”的单个字符时,它不会正常工作
显然我不希望 QCompleter 同时弹出“变量”和“变量”。任何解决方案?多谢。
c++ - Qt moveCursor 不再改变选择边界
我正在QPlainTextEdit
用一种编程语言(Basic)以 , 显示文本,该语言在标识符的末尾可以有一个特定于类型的字符;例如MyString$
或StartChar@
。因此,如果用户通过双击选择这样的标识符,我希望将特定于类型的字符包含在选择中。这是我的代码:
这曾经工作得很好。但是现在我已经升级到 Qt 5.12(我认为是从 Qt 5.4),调用moveCursor
不再导致选择包含额外的字符。有谁知道为什么这种行为发生了变化,我能做些什么?
c++ - 强制 QPlainTextEdit 大写字符
我想在我输入时将所有小写字符转换为QPlainTextEdit
. 在QLineEdit
我通过验证器做同样的事情,但似乎没有验证器QPlainTextEdit
。
我试过ui->pte_Route->setInputMethodHints(Qt::ImhUppercaseOnly);
了,但它什么也没做,很可能是用错了。
使用我的“自己的”课程有什么更好的选择吗?
python - QPlainTextEdit 是 RightToLeft 但显示 LeftToRight
我使用QPlainTextEdit
并设置了一个视图setLayoutDirection(QtCore.Qt.RightToLeft)
。的输出self.plaintxt.isRightToLeft()
为 1,但在纯文本视图中,波斯文和英文文本从左侧显示。我的代码中发生了什么?
代码:
c++ - 附加一个非常大的字符串
当我尝试向 QPlainTextEdit 添加一个大 QString(大小:104806123)时,我得到一个异常:C++:std::bad_alloc
我还尝试将 Text 附加到 QPlainTextEdit 中,将数据拆分为许多 QStrings:
但在 570.000 行左右,我得到了 std::bad_alloc。问题不在于 QString,而是当我调用 appendPlainText(QString)
有更好的方法将大字符串添加到 QPlainTextEdit 吗?
python - 在 QPlainTextEdit() 中禁用回车(按 Enter 键)
这就是我的示例:
文本区域是一个QPlainTextEdit()
对象,因为我希望文本换行到第二行。我认为这是最好的小部件选择。
用户最多只能在此框中输入 90 个字符,因此我不需要大的文本区域。
我想禁用按键 Enter(回车)。我让它工作,但它看起来很hacky,我认为它不会跨平台工作(例如:Mac)。
当然,必须有更好的方法来防止QPlainTextEdit
对象中的回车键事件?
我目前的解决方案解释
在下面,您可以看到我正在检查是否IndexError
发生,因为当 QPlainTextEdit 框中没有任何内容时会last_value
抛出一个。IndexError
然后,我得到最后一个字符并询问它是否等于一个新行。如果是,我将重新设置没有新行的文本并将光标移动到末尾。
完整代码最小工作示例:
python - 在 QPlainTextEdit 中突出显示部分文本
我在 QPlainTextEdit 中有一个列表,想突出显示特定的行,比如第 5 行。
我查看了各种教程和示例,但 PyQt5 的文档似乎相当稀疏。
可行的代码,我想突出显示行。对于另一个小部件的建议,我也很感激。我不想编辑这个列表,只是显示它并突出显示行。
python - 在复制时从 QPlainTextEdit 获取原始文本
从 QPlainTextEdit 复制时,我想获得没有样式信息的原始文本。目前,当从 QPlainTextEdit 粘贴到 excel 中时,会包含样式信息。我正在使用 PySide2。
这是说明问题的excel图像
我最初将 A 列的背景颜色设置为黄色并粘贴在该列的顶部。
我尝试重新实现 createMimeDataFromSelection,但如果我创建一个新的 QMimeData,设置文本并返回它,程序崩溃而没有错误。经过进一步测试,此方法确实有效,并且在使用 PyQt5 而不是 PySide2 时不会崩溃。也许这是 PySide2 的一个错误。
如果我使用 super() 获取父级的 QMimeData 并使用 setText() 和 setHtml() 覆盖文本,当我复制时,我仍然会得到带有样式的原始文本:
这是一个完整的示例,展示了标准 QPlainTextEdit,一个尝试替换父类提供的 mime 数据,一个尝试创建自己的 mime 数据。
python - Python PyQt5 打印多色到纯文本编辑
为了使这更容易。我将如何打印到 QPlainTextEdit 列表
为每个单词使用不同的颜色?