在 Qt 中实现快捷键功能通常涉及到 QShortcut 类的使用。
QShortcut *shortcutOpen = new QShortcut(QKeySequence(tr("Ctrl+O")),this);
QShortcut *shortcutSave = new QShortcut(QKeySequence(tr("Ctrl+S")),this);connect(shortcutOpen, &QShortcut::activated, [=]() {
on_btnopen_clicked();//调用打开文件的槽函数
});connect(shortcutSave, &QShortcut::activated, [=]() {
on_btnsave_clicked();//调用保持文件的槽函数
})
快捷键实现字体的放大/缩小
QShortcut *shortcutEnlarge = new QShortcut(QKeySequence(tr("Ctrl+=")),this);//在键盘上加号和等号共有一个键connect(shortcutEnlarge, &QShortcut::activated, [=]() {//获取TextEdit当前字体信息QFont font = ui->textEdit->font();//获取当前字体大小int fontSize = font.pointSize();if(fontSize == -1) return ;//改变字体大小,并设置字体大小fontSize = fontSize+1;font.setPointSize(fontSize);ui->textEdit->setFont(font);});QShortcut *shortcutReduce = new QShortcut(QKeySequence(tr("Ctrl+-")),this);connect(shortcutReduce, &QShortcut::activated, [=]() {//获取TextEdit当前字体信息QFont font = ui->textEdit->font();//获取当前字体大小int fontSize = font.pointSize();if(fontSize == -1) return ;//改变字体大小,并设置字体大小fontSize = fontSize-1;font.setPointSize(fontSize);ui->textEdit->setFont(font);});