我正在用QT设计器和Python构建一个记笔记的GUI。我正在设想用简单的标记将笔记保存为*.txt文件。但是,对于GUI,我希望主文本编辑框能够在您处于“编辑模式”并不断键入时实时呈现markdown。因此,如果您键入*italic*
或**bold**
,文本框将识别出这一点,并使用文本中的标记符号将其斜体化或加粗。一旦你退出“编辑模式”,你会看到一个格式正确的富文本预览,并且没有任何标记符号。如果有人熟悉Notable,我非常希望复制它(值得一提的是Bear应用程序,但它的功能不同,因为它始终处于“实时预览”模式)
我正试图弄清楚如何使用QT和Python实现这一点,到目前为止,我所能想到的就是:
QT网站上有一个example演示了使用QWebEngineView
的实时预览,但它与一个普通文本框并排,而不是我所想的
我想知道这是否也可以通过某种语法突出显示来实现?所以从这个意义上说,我应该更多地构建一个代码编辑器或其他什么?因此,QT文本框将被配置(作为富文本或HTML?我不知道),以便*(italic text)*
的任何实例在您键入第二个星号时都将获得斜体格式。我想在语法突出显示定义中,我可以使用某种通配符来表示“这些标记符号之间的任何内容?”
有人对解决方案有什么建议吗
由于Qt 5.14 QTextEdit支持标记格式,因此可以使用2个显示不同编辑模式的QTextEdit。要交换QTextEdit,可以使用QStackedWidget:
相关问题 更多 >
编程相关推荐