在Qt

时间:2019-05-16 09:56:29

标签: c++ qt

我正在开发类似画家的应用程序,该应用程序允许用户在图像上绘制点并使用不同的点子集进行管理。在触发动作时创建子集。新创建的子集也是动作,它们的编号从1到用户需要多少。我想在创建时为新创建的动作设置快捷方式。例如,对于动作“ Set_2”,我想要快捷方式“ Ctrl + 2”,对于“ Set_3”-“ Ctrl + 3”,等等。 这是一段代码,显示了如何在我的应用程序中创建动作:

void ImageViewer::on_New_setAct_triggered()
{
    setnumber++;
    newset = new QAction;
    newset->setText(QString("Set_" + QString::number(setnumber)));

   /...
}

对可能的解决方案有任何想法吗?

1 个答案:

答案 0 :(得分:1)

QAction类具有setShortcut()方法,该方法将QKeySequence作为参数:

  

此属性的有效键码可在Qt::KeyQt::Modifier中找到。

QAction *newset = new QAction();
newset->setShortcut(QKeySequence(tr("Ctrl+%1").arg(setnumber)));