问题标签 [qscintilla]

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 投票
1 回答
110 浏览

c++ - 为什么slot函数调用成功也不能插入文本

我正在使用 QScintilla 在 Qt 中编写代码编辑器。

我想在输入前括号时自动完成后括号。这样我将cursorPositionChanged(int, int)信号连接到complete_braces()插槽并且连接正常。但是insert()即使调用了 slot 函数,该语句也不起作用。

  • 这适用于运行 Qt 5.13.0(MinGW 7.3.0 32 位)、Qt Creator 4.9.2、QScintilla 2.11.2 的 Windows 10 PC。
  • 信号和槽的连接是有效的,因为qDebug()语句输出正确。
  • 当我将工具栏按钮触发器连接到插槽功能并按下按钮时。后支架放置正确。
  • 当我在普通函数中调用它时,该insert(QString)函数起作用。

标题:

代码:

我希望insert(QString)正确调用插槽函数中的函数,但事实并非如此。

如何使插入语句生效,或者有没有其他方法可以自动完成括号?

0 投票
0 回答
493 浏览

python - ImportError: No module named 'PyQt5.Qsci' [1016] 无法执行脚本接口

我正在尝试使用 PyInstaller 4 升级为 Windows 构建可执行文件。我可以构建可执行文件,但是当我导入 QsciScintilla 时,它不起作用。我按照他们的教程并尝试使用隐藏导入,我不知道如何修复它。我一直在使用 Python 3.5.4 进行开发。这是我得到的错误:

用过的:

这是我使用 pyinstaller --onefile --windowed Interface.py 找到的 .spec 文件

我不知道如何绕过问题并构建运行的脚本。

0 投票
1 回答
74 浏览

python - 如何在 qscintilla 中删除词法分析器

如果用户想返回纯文本,如何删除我用 .setLexer(lexer) 设置的 qscintilla 中的词法分析器?我在文档中没有找到任何东西。我将 PyQt5 与 Python3 一起使用。

0 投票
2 回答
253 浏览

python - 如何在 QScintilla 中突出显示当前行

我想在 QScintilla 中突出显示当前行(插入符号所在的行,类似于 Notepad++)。搜索互联网一无所获。我错过了一些明显的东西吗?

0 投票
1 回答
148 浏览

python - 在 indicatorReleased() 事件处理程序中执行 Qscintilla 的“SCI_GOTOLINE”API 无法正常运行

我正在使用“PyQt4”开发桌面应用程序。该应用程序包含一个在 Qscintilla 之上实现的 XML 编辑器。但是,每当我单击通过指示器定义的类似超链接的文本时,我都会遇到问题。调用了“indicatorClicked”事件,但是当我在其中执行“SCI_GOTOLINE”API 时,它会正确地转到所需的行,但不幸的是,由于某种原因,它会从单击的文本位置选择文本直到目标行。对我来说,好像鼠标没有被释放!我也尝试使用“indicatorReleased”事件,但没有成功!你知道如何解决这个问题吗?

这就是我挂钩指示器释放事件的方式:

事件处理程序只是将 SCI_GOTOLINE API 调用到某个行号:

0 投票
1 回答
25 浏览

pyqt4 - Pyqt4 上的 QsciScintilla 用于 python35 错误(非官方 whl)

我想在 python35 上使用 pyqt4。但是,最新的官方版本支持 py=<34 所以我找到了这个大学网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4 非正式地扩展了对包括python35在内的更高版本的支持

我的问题是 QsciScintilla 不工作。我试图运行这段代码:

窗口变得无响应然后崩溃:

我想在 python3.5 上使用 pyqt4 的原因是我有一个基于 pyqt4 构建的退出大应用程序,我想将该项目的 python 版本升级到 35

0 投票
0 回答
147 浏览

c++ - 使用 QsciLexerCustom 突出显示 QScintilla 语法 - UTF-8 问题

我在我的 C++ Qt 项目中使用 QScintilla 作为文本编辑器,并希望为我的自定义(ish)语言突出显示语法。

根据我找到的一个很好的指南(qscintilla),我将 QsciLexerCustom 子类化并实现了所有必要的方法,特别是QsciLexerCustom::styleText. 一切似乎都很好,直到我在编辑器中写了一个非 ASCII 字符,这使得突出显示被转移。经过一番调查,我发现密钥最有可能出现在不同字符长度的 UTF8 中。这是我的 styleText 方法的开始:

现在例如,如果编辑器包含非 ASCII 文本,如,则使用andč-č-č调用 styleText 方法,因为这是 Scintilla UTF-8 缓冲区的大小(3x 2B 加上 2x 1B)。但是我从编辑器得到的这个范围的 QString 只有 5 个字符。因此,当我使用 为整个字符串设置样式时,这还不够,因为这意味着我没有为我要求的所有内容设置样式,至少最后一个不会被设置样式。start == 0end == 8setStyling(5, Styles::Example)č

我试图想办法解决这个问题,但真的看不到任何合理的选择,如果我想坚持使用 QStrings 并且不想使用原始缓冲区,这将使我的整个词法分析器实现无用。有什么我想念的吗?或者一些或多或少合理的解决方法?

0 投票
1 回答
132 浏览

c++ - 使用 QScintilla 和 Qt/C++ 自定义语法高亮

我正在尝试使用QScintilla在 Qt ( C++ ) 中实现自定义语法突出显示,但是,文档在某种程度上很差。我用谷歌搜索,只找到了 PyQt 的教程(qscintilla.com)。我使用的是C++而不是 Python。

那么我可以从哪里开始呢?我注意到有一个类QSciLexCustom,但它看起来对我来说真的很混乱。

实际上,我的自定义语法与 C++ 非常相似,其中一个不同的功能是$在变量之前使用。

0 投票
0 回答
34 浏览

python - 尝试将 SCN_MODIFIED 与 pyqt6 一起使用会产生 TypeError 崩溃

我有一个简单的编辑器,我正在尝试移植到 PyQt6,但遇到了文档修改消息的问题。它在 PyQt5 中运行良好,但在 PyQt6 中生成'TypeError: unable to convert a QVariant back to a Python object'消息。

运行代码并在 PyQt5 中输入 abc 会生成以下输出

我在 linux 我使用的软件包版本

0 投票
1 回答
65 浏览

python - 在 PyQt5 中将 QsciScintilla 的文本光标向左或向右移动

我想知道我可以执行哪些特定命令来将 QsciScintilla 中的文本光标向左或向右移动?我知道对于 QPlainTextEdit,您可以执行以下命令:

或者:

QsciScintilla 有没有类似的命令?

我试过了: