Qt Quick中Shortcut和Action的异同



  • 大家可以在Qt的帮助看到这两个QML类,他们的功能是差不多的,但是这里会有一些差别,我仔细看了一看,觉得要在实际项目中使用,需要注意这几点。

    首先引入的包不一样。Shortcut只需要Qt Quick包即可引入。它在Qt 5.5就引入了。而Action则是QtQuick.Controls包的类。顺便说一句,Qt Quick Controls 2在Qt 5.10中也会引入Action,作为Qt Quick Controls 2有效的补充。现阶段(2017年09月19日)暂时用不上呢。可以尝试一下Qt 5.10 Alpha版本。

    然后呢,虽然二者都可以表示通过快捷键触发特定的功能,但是当Shortcut遇到相同组合键的话,会触发activatedAmbiguously()这个信号处理器。而Action则没有这个功能。

    最后,Shortcut几乎是独立存在的,而Action则可以和Button以及Menu等向结合,提供统一的动作处理方法。:kiwi:


登录后回复
 

与 萌梦社区 的连接断开,我们正在尝试重连,请耐心等待