首页 > 解决方案 > 如何使用 Ctrl+c 作为 QAction 快捷方式

问题描述

我尝试捕获Ctrl+C事件来操作复制操作。为此,我使用 QMainWindow 和 QAction

class MainWindow(QMainWindow):
    def __init__(self) -> None:

我制作了一个 menuBar 并添加了带有“Ctrl + c”快捷方式的 QAction:

  def _create_menu(self):

        file_menu = self.menuBar().addMenu("&File")

        copy_data = QAction(text="&Copy", parent=self)
        #copy_data.setShortcut("Ctrl+c")
        copy_data.setShortcut(Qt.CTRL + Qt.Key_C)
        copy_data.triggered.connect(self._on_copy_data)

         file_menu.addAction(copy_data)

并创建我的功能

    def _on_copy_data(self):
        self._bits_widget.copy()

但是当我按下Ctrl+ C _on_copy_data函数没有触发并且当我使用菜单栏并单击复制时,该函数被触发。

同样,如果我将键更改为Ctrl+l例如这将起作用。

我的错误在哪里?我在 Ubuntu 操作系统中使用 Pyqt5

标签: pythonpyqtpyqt5

解决方案


推荐阅读