它可以捕捉某个特定键盘组合,并触发你定义的行为(通常是一个槽函数) 二、基本语法和用法 QShortcut *shortcut = new QShortcut(QKeySequence("Ctrl+O" ), this); connect(shortcut, &QShortcut::activated, this, &YourClass::onOpenFile); QKeySequence("Ctrl+ O"):定义快捷键 this:指向父控件,通常是窗口类 activated:信号,在快捷键按下时发射 onOpenFile:你定义的槽函数(执行逻辑) 三、构造函数 QShortcut(const QKeySequence 哪个控件监听这个快捷键(必须是 QWidget) member:早期信号绑定方式,现在已弃用,推荐用 connect() context:快捷键作用范围(默认是窗口范围) 四、常用成员函数 函数名 说明 setKey(QKeySequence QApplication a(argc, argv); Widget w; w.show(); QShortcut *shortcut = new QShortcut(QKeySequence
QKeySequence 的构造函数参数,可以直接使用 “Ctrl + C” 这样的按键名字符串表示,也可以使用预定义好的常量(形如 Qt::CTRL + Qt::Key_C)表示。 ("ctrl + w")); // ui->pushButton_down->setShortcut(QKeySequence("s")); // ui->pushButton_left-> setShortcut(QKeySequence("a")); // ui->pushButton_right->setShortcut(QKeySequence("d")); // 方法 ->setShortcut(QKeySequence(Qt::Key_W)); ui->pushButton_down->setShortcut(QKeySequence(Qt::Key_S)) (QKeySequence(Qt::Key_D)); } 4)再修改 widget.cpp,设置四个方向键的 slot 函数 void Widget::on_pushButton_up_clicked
常见的标准快捷键如下: QKeySequence::New:新建(Ctrl+N) QKeySequence::Open:打开(Ctrl+O) QKeySequence::Save:保存(Ctrl+S) QKeySequence::SaveAs:另存为(Ctrl+Shift+S) QKeySequence::Copy:复制(Ctrl+C) QKeySequence::Paste:粘贴(Ctrl+V) QKeySequence ::Undo:撤销(Ctrl+Z) QKeySequence::Redo:重做(Ctrl+Shift+Z) QKeySequence::Quit:退出(Ctrl+Q) 4.4 菜单项的图标设置 ::Undo); actRedo->setShortcut(QKeySequence::Redo); actCopy->setShortcut(QKeySequence::Copy); actPaste->setShortcut(QKeySequence::Paste); actFind->setShortcut(QKeySequence::Find); //
参数是⼀个 QKeySequence 对象. 表示⼀个按键序列. 支持组合键 (ctrl + c 这种). QKeySequence 的构造函数参数, 可以直接使⽤ “ctrl+c” 这样的按键名字符串表示, 也可以使⽤预定义好的常量 (形如 Qt::CTRL + Qt::Key_C ) 表⽰. pushButton_right->setIcon(QIcon(":/right.png")); // 设置快捷键 ui->pushButton_up->setShortcut(QKeySequence ("w")); ui->pushButton_down->setShortcut(QKeySequence("s")); ui->pushButton_left->setShortcut (QKeySequence("a")); ui->pushButton_right->setShortcut(QKeySequence("d")); } //
易于使用,可QKeySequence用于快捷输入。 支持几乎所有常用键(取决于操作系统和键盘布局)。 允许直接输入键/修饰键组合。 支持同一快捷方式的多个QHotkey实例(具有优化)。 QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); auto hotkey = new QHotkey(QKeySequence
QMainWindow, QMessageBox, QTextEdit) from PyQt5.QtGui import QFont, QIcon,QColor,QKeySequence ", self.fileNew, QKeySequence.New, "filenew", "Create a Python file") fileOpenAction ", self.fileOpen, QKeySequence.Open, "fileopen", "Open an existing Python file") self.fileSaveAction = self.createAction("&Save", self.fileSave, QKeySequence.Save clipboard") self.editCutAction = self.createAction("Cu&t", self.editor.cut, QKeySequence.Cut
self.widget = widget self.init_action() def init_action(self): zoom_minus = QShortcut(QKeySequence ("Ctrl+-"), self) zoom_minus.activated.connect(self.minus) zoom_plus = QShortcut(QKeySequence ("Ctrl+="), self) zoom_plus.activated.connect(self.plus) switch_left = QShortcut(QKeySequence Qt.Key_Left), self) switch_left.activated.connect(self.left) switch_right = QShortcut(QKeySequence
PyQt5.QtWidgets import * from PyQt5.QtCore import Qt from PyQt5.QtGui import QColor, QFont, QIcon, QKeySequence checkable=False, slot=self.fileNew,tip="新建文件",shortcut=QKeySequence.New ,checkable=False, slot=self.close,tip="退出",shortcut=QKeySequence.Close
(QKeySequence("d")); // ui->pushButton_left->setShortcut(QKeySequence("a")); //通过按键的枚举来设置 ui->pushButton_up->setShortcut(QKeySequence(Qt::Key_W)); ui->pushButton_down->setShortcut(QKeySequence (Qt::Key_S)); ui->pushButton_right->setShortcut(QKeySequence(Qt::Key_D)); ui->pushButton_left ->setShortcut(QKeySequence(Qt::Key_A)); //开启鼠标点击连发功能 ui->pushButton_up->setAutoRepeat(true); 解决方案:避免使用系统快捷键(如Ctrl+Alt+Del);测试时确保程序在前台;使用QKeySequence::toString()验证快捷键是否正确。
self.fileOpenAction=QAction(QIcon("open.png"),"&Open",self) # 动作在self中可用 self.fileOpenAction.setShortcut(QKeySequence.Open = QAction(QIcon("textbold.png"),"&Bold",self) # 动作在self中可用 self.actionTextBold.setShortcut(QKeySequence.Bold
."); //myAc1->setShortcuts(QKeySequence::Print); //设置快捷方式 myAc1->setShortcut(QKeySequence
import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import QColor, QFont, QIcon, QKeySequence from self.fileOpenAction = QAction(QIcon("open.png"),"&Open",self) # 动作在self中可用 self.fileOpenAction.setShortcut(QKeySequence.Open self.fileSaveAsAction = QAction(QIcon("save.png"),"SaveAs",self) # 动作在self中可用 self.fileSaveAsAction.setShortcut(QKeySequence.SaveAs
PyQt5.QtCore import QSize, Qt,pyqtSignal from PyQt5.QtGui import QColor, QFont,QFontMetrics, QIcon, QKeySequence menu.addAction(text, self.setTextEffect) if shortcut is not None: action.setShortcut(QKeySequence
newAction = menuFile->addAction(QIcon(QPixmap("d:\\\\qt-logo.png")), "&New", this, SLOT(slotNew()), QKeySequence
QStringLiteral("Settings"), this); m_settings->setIcon(QIcon(":/misc/preference")); m_settings->setShortcut(QKeySequence QAction(QStringLiteral("Github"), this); m_github->setIcon(QIcon(":/app/github")); m_github->setShortcut(QKeySequence QIcon(":/app/facebook")); m_apple = new QAction(QStringLiteral("Apple"), this); m_apple->setShortcut(QKeySequence QStringLiteral("Windows"), this); m_windows->setIcon(QIcon(":/os/windows")); m_windows->setShortcut(QKeySequence
newAction = menuFile->addAction(QIcon(QPixmap("d:\\\\qt-logo.png")), "&New", this, SLOT(slotNew()), QKeySequence
newAction = menuFile->addAction(QIcon(QPixmap("d:\\\\qt-logo.png")), "&New", this, SLOT(slotNew()), QKeySequence
参数是⼀个 QKeySequence 对象. 表示⼀个按键序列. ⽀持组合键 (ctrl + c 这种). QKeySequence 的构造函数参数, 可以直接使⽤ "ctrl+c" 这样的按键名字符串表示, 也可以使用预定义好的常量 (形如 Qt::CTRL + Qt::Key_C ) 表示 widget.cpp ("w")); ui->pushButton_down->setShortcut(QKeySequence("s")); ui->pushButton_left->setShortcut (QKeySequence("a")); ui->pushButton_right->setShortcut(QKeySequence("d")); // 设置快捷键也可以写作 (QKeySequence(Qt::Key_S)); // ui->pushButton_left->setShortcut(QKeySequence(Qt::Key_A)); // ui
水平方向已固定 //播放列表开启控制图标 QAction *PLAction = new QAction(tr("PL"), this); PLAction->setShortcut(QKeySequence //桌面歌词显示开启控制图标 QAction *LRCAction = new QAction(tr("LRC"), this); LRCAction->setShortcut(QKeySequence setIcon(QIcon(":/images/play.png")); play_action->setText(tr("播放(F5)")); play_action->setShortcut(QKeySequence ")); skip_backward_action->setText(tr("上一首(Ctrl+Left)")); skip_backward_action->setShortcut(QKeySequence QIcon(":/images/open.png")); open_action->setText(tr("播放文件(Ctrl+O)")); open_action->setShortcut(QKeySequence
水平方向已固定 //播放列表开启控制图标 QAction *PLAction = new QAction(tr("PL"), this); PLAction->setShortcut(QKeySequence //桌面歌词显示开启控制图标 QAction *LRCAction = new QAction(tr("LRC"), this); LRCAction->setShortcut(QKeySequence setIcon(QIcon(":/images/play.png")); play_action->setText(tr("播放(F5)")); play_action->setShortcut(QKeySequence ")); skip_backward_action->setText(tr("上一首(Ctrl+Left)")); skip_backward_action->setShortcut(QKeySequence QIcon(":/images/open.png")); open_action->setText(tr("播放文件(Ctrl+O)")); open_action->setShortcut(QKeySequence