我正在研究用Python编写的Kate插件,该插件会生成大量文本,太大而无法在弹出窗口中显示。因此,我希望Kate打开一个新的未命名文件并在其中显示文本。

有没有办法在Python中执行此操作(除了运行子进程echo text | kate --stdin外)?

最佳答案

我自己发现:

import kate
from kate import documentManager as dm
from PyKDE4.kdecore import KUrl


text = "Lorem ipsum dolor sit amet"

# Open a new empty document
doc = dm.openUrl(KUrl())
# Open an existing file
doc = dm.openUrl(KUrl('/path/to/file.ext'))

# Activate view
kate.application.activeMainWindow().activateView(doc)

# Insert text
pos = kate.activeView().cursorPosition()
doc.insertText(pos, text)

07-24 22:22