Qt中快捷键& 的使用方法
分类:Qt
Qt中为组件添加快捷方式使用&
键,具体用法如下:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton(QObject::tr("&close"));
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
label->show();
return app.exec();
}
QString
Qt使用QObject的函数tr()可以将字符串国际化,即使用工具提取出来翻译成其他语言,所以一般在应用级别的程序我们都使用tr()函数封装的字符串而不是单独的字符串。如果类在继承的时候申明了Q_OBJECT宏,则可以直接使用tr()函数。注:在Qt5以后,使用QtWidgets取代QtGui!
快捷键&
在封装字符串的时候,在字符前面加一个&
就可以实现为组件添加快捷键,如上述程序的&close
,就实现了为button添加alt+c
快捷键,用alt+c
即可实现对close button的点击。
转义
如果我们需要在字符串本身中添加&字符则需要用转义,注意,这跟C++中使用/
转义不一样,这里是用&
对字符串进行转移。如果希望在button上显示&字符并且要为之添加alt+c
快捷键的话,则用tr("&&&close")
,第一个&表示对第二个&的转义,即将第二个&作为字符&显示,第三个&配合c字符表示为button添加alt+c
快捷键。
如果有收获,可以请我喝杯咖啡!