问题标签 [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.
python - 如何在 QScintilla 中实现 SublimeText 逐级功能
我正在尝试fold_by_level
在 QScintilla 组件上实现 SublimeText3 功能,但我不太清楚如何做到这一点,到目前为止我已经提出了以下代码:
我关注的文档是https://www.scintilla.org/ScintillaDoc.html#Folding和http://pyqt.sourceforge.net/Docs/QScintilla2/classQsciScintilla.html。
正如我所说,该fold_by_level
功能旨在与 SublimeText 完全一样,但我不确定 ST 的功能实现细节。无论如何,让我在 SublimeText 上测试一些基本序列之后发布一些屏幕截图,这可以澄清我在这里想要实现的目标:
序列1: {ctrl+k, ctrl+5}, {ctrl+k, ctrl+j} {ctrl+k, ctrl+4}, {ctrl+k, ctrl+j} {ctrl+k, ctrl+3}, {ctrl+k, ctrl+j} {ctrl+k, ctrl+2}, {ctrl+k, ctrl+j} {ctrl+k, ctrl+1}, {ctrl+k, ctrl+j}
序列2: {ctrl+k, ctrl+5}, {ctrl+k, ctrl+4}, {ctrl+k, ctrl+3}, {ctrl+k, ctrl+2}, {ctrl+k, ctrl+1}
我确信有更多关于 SublimeText 行为的内部细节,但如果我的示例在测试序列后表现得与在这些镜头上发布的完全一样,你可以说该功能已经变得非常方便使用。
python - 如何在 QScintilla 中实现与多项选择一起使用的评论功能?
我正在尝试在 QScintilla 中实现一个切换评论功能,该功能适用于多项选择。不幸的是,我不太清楚该怎么做,到目前为止我已经想出了这个代码:
相关的 Qscintilla 文档住在这里:
现在这个功能只支持一个单一的选择/光标,评论的方式真的很难看。正如您在代码中看到的,如果您在按住鼠标的同时按 ctrl,您将能够创建多个光标/选择。
不过,我现在不知道如何实现几件事:
1)我希望评论对齐,也就是说,它们应该从相同的缩进级别开始。现有功能现在会产生丑陋的未对齐评论,我称之为“对齐良好”的评论示例:
2) 现在只考虑一个光标/选择。如何循环游标/选择以应用 toggle_selection 功能?
3)我猜如果你循环选择结果会比在特定行中有偶数个游标不会评论该行(评论,取消评论),例如,像这样:
4) 特定行中的奇数个游标会影响该行,因为(注释、取消注释、注释),例如,如下所示:
5)如果你循环游标/选择,你最终会产生像下面这样的输出。
编辑:第一稿
EDIT2:我发现我正在尝试实现的此功能的源代码可在 SublimeText Default.sublime-package (zip 文件)、comments.py上找到。该代码不仅支持普通注释//
,还支持块注释/* ... */
。主要问题是将代码移植到 QScintilla 似乎非常棘手:/
python - 如何将折叠添加到 QsciLexerCustom 子类?
考虑这个片段:
要运行上面的 mcve,你只需要运行pip install lark-parser PyQt5 QScintilla
我试图弄清楚如何修改LexerJson
,以便符号[ ] { }
支持折叠。当使用诸如qscilexercpp.cpp之类的现有类时,折叠行为是免费提供给您的,例如,您只需执行以下操作:
折叠可以免费工作......但是当我在发布的 mcve 中使用自定义词法分析器时,我猜你必须自己实现该行为,不幸的是我不知道该怎么做。
所以,这基本上是一个问题,你如何在 QsciLexerCustom 子类上实现折叠?
python - 当我安装 eric6 时,出现以下错误:请安装 QScintilla2 及其 PyQt5/PyQt4 包装器
安装eric6的时候提示如下问题:
但是我已经通过“pip install QScintilla”安装了 QScintilla,那么接下来我该怎么做呢?
我的操作系统是Windows。
python - 使用 QsciScintilla.findNext 向后搜索未按预期工作
如果我搜索字母x
转发(按钮Next
),一切正常,但只要我改变方向(按钮Previous
),就会发生这种情况:
QsciScintilla.findFirst()
不移动选择。即,第一次按下按钮Previous
不做任何事情;QsciScintilla.findNext()
以 2 为步长移动,从而跳过一个字符。
ATM 我正在考虑将查找操作的逻辑从 C++ 转换为 Python,从而可能解决问题,但很高兴知道我犯了一些新手错误,从而避免了所有额外的工作......
这是代码:
python - QScintilla2 未安装 DLL 加载失败
我尝试运行一个 Python 脚本,它是 PyForms 的一个演示,它使用 PyQt5、SIP 和显然是 QScintilla。
走到这一步我遇到了很多麻烦。一个障碍是获得合适的 PyQt5-Version 与 SIP 相结合。现在 Pydev(Eclipse) 提示我以下内容:
QScintilla2 未安装
DLL 加载失败:Die angegebene Prozedur wurde nicht gefunden。
(翻译 DE -> EN:找不到给定的程序)
QScintilla2 已安装,我多次尝试以不同版本重新安装。我不知道如何用 PIP 解决这个问题。
当前版本Windows 8
如下:
Python:3.7
PyForms:3.0.0
AnyQt:0.0.8
PyQt5:5.10.1
PyQt5-sip:4.19.12
QScintilla:
2.10.7 sip:4.19.8
对于想知道我之前修复 PyQt5/sip 障碍的人:Stackoverflow | 来自用户ntaro的回答
如果您需要更多信息,请告诉我!
python - *.api 文件:它们属于哪个生态系统?
这些文件与python代码分析有关。可能不止于此。一个例子:
https://github.com/fastogt/qscintilla/blob/master/qsci/api/python/Python-3.4.api
这些文件要么属于 Python,要么属于 Qt 生态系统。这个问题本来是微不足道的;不幸的是,不愉快的缩写完全禁用了搜索。
这些文件是什么? api 在这个特定的上下文中意味着什么?
c++ - QScintilla 如何在 textEdit 小部件中连续获取光标位置?
我正在使用 Qt5 和 QScintilla 作为框架,使用 C++ 编写源代码编辑器。在这个项目中,我想不断地显示文本光标的行和列(光标位置),所以我需要一个在文本光标移动时发出的信号。根据 QScintilla 文档, cursorPositionChanged(int line, int index) 每当光标移动时都会发出想要的信号,所以我想这一定是我需要的方法?这是我到目前为止所做的:
我的代码编译并且编辑器窗口按需要显示,但不幸的是,我收到了警告:
有人可以为我提供一个 QScintilla C++ 或 Python 示例,展示如何连续获取和显示当前光标位置吗?
完整的源代码托管在这里: https ://github.com/mbergmann-sh/qAmigaED
感谢您的任何提示!
c++ - QScintilla:如何将用户上下文菜单添加到 textEdit?(C++)
我正在努力告诉作为我的 MainWindow 应用程序的主要小部件的 QScitilla textEdit 接受在右键单击鼠标时显示个性化的上下文菜单。
如果与 QScintilla 替代方案一起使用,如果我使用标准 Qt5 textEdit 会失败。我尝试通过一些操作定义用户菜单:
对 QContextMenuEvent 做出反应,但仅当我右键单击 MainWindow 的元素而不是 QScintilla textEdit 时才会显示菜单。当我在 textEdit 中进行操作时,只显示标准的剪切/复制/粘贴菜单。
如何为 QScintilla textEdit 实现它?