Qt 侦测哪个发送的事件


化石原创文章,转载请注明来源并保留原文链接


做一个上下文菜单,大多菜单QAction引发的方法,都进入同一个触发方法,这样在方法中,这样能少写很多方法,代码也会简洁很多。引起的一个问题是:在这个方法中,必须知道是哪个QAction引发。

sender()方法就用来解决该问题,只要是QObject的子类,都包含该方法,这样,如果知道是QAction引发的方法调用,只要把send()返回的值强转为QAction,就能得到该QAction的text,如果text就能识别,那么就知道是哪个QAction激发了方法。

    QAction* action = qobject_cast<QAction*> (sender());
    int size = action->text().toInt();


化石原创文章,转载请注明来源并保留原文链接


发表评论

电子邮件地址不会被公开。 必填项已用*标注