在 Qt 中实现快捷键功能通常涉及到 QShortcut 类的使用。
cpp
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();//调用保持文件的槽函数
})
快捷键实现字体的放大/缩小
cpp
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);
});