因此,我正在制作一个用于编辑文本文件的 QTextEdit。我用按钮加载和保存工作正常。但我养成了每次在文本编辑器中粘贴内容时按 Ctrl+S 保存的习惯,因为我以前在记事本中使用过它。所以我一直在努力实现它。但我无法全神贯注于如何检测和执行我的保存功能。我们称它为 savetext
。
我一直在尝试让 keyPressEvent
工作,但我就是不明白它是如何工作的。所以我一直很无助地尝试学习它。
我的高度简化的代码如下所示:
class GUI(QProcess):
def init etc...
"Button creations and connect to save/load function"
self.textedit=QTextEdit()
def savetext(self):
code
def loadtext(self):
code
现在,如何检测在 QTextEdit
或我的程序中任何地方检测到的组合键,并使其执行 savetext
?在我的例子中,Ctrl+S,虽然我只是喜欢一般的解释,所以我可以将它应用到任何组合。
最佳答案
使用QShortcut
和QKeySequence
from PyQt5.QtWidgets import QApplication, QTextEdit, QShortcut
from PyQt5.QtGui import QKeySequence
import sys
def slot():
print("Ctrl+S")
app = QApplication(sys.argv)
textedit=QTextEdit()
shortcut = QShortcut(QKeySequence("Ctrl+S"), textedit)
shortcut.activated.connect(slot)
textedit.show()
sys.exit(app.exec_())
关于python - 检测 Ctrl+S ionic QTextedit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43010630/