python - 检测 Ctrl+S ionic QTextedit?

标签 python python-3.x pyqt pyqt5 qtextedit

因此,我正在制作一个用于编辑文本文件的 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,虽然我只是喜欢一般的解释,所以我可以将它应用到任何组合。

最佳答案

使用QShortcutQKeySequence

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/

相关文章:

python - numpy - 用 0 调整数组大小

python - 如何解释从 Google OR Tools 返回的车辆路径问题解决方案?

python-3.x - 如何在 keras 模型中可视化学习到的训练权重?

python - 要在 python 中打印特定的文件夹名称?

python - 有没有办法在 PySide 或 PyQt 中向 QListView 添加部分?

python - Python 中的 DataFrame 切片失败

javascript - 如何使用QWebEngineView和qtwebchannel.js一步步加载javascript?

python - 如何切换窗口停留在顶部提示

python - 如何通过鼠标中键在QGraphicsView 中滚动QGraphicsScene?

python - 动态创建包含人员年龄(以月份为单位)的 DataFrame 的最 Pythonic 方法是什么?