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快捷键。