我有一个 Qt 应用程序,想确定在启动应用程序时是否按住了 Shift(或 Ctrl)键。我的目标是为应用程序实现“安全模式”。
我尝试过使用QApplication::keyboardModifiers(),但无论我在启动应用程序时按住什么键,无论是通过双击它还是从命令行开始,该函数总是返回 0(无修饰符)。
int main(int argc, char *argv[]) {
QString homeDocs = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+"/";
QCoreApplication::setApplicationName(getAppName());
QCoreApplication::setOrganizationName(getDeveloperName());
QCoreApplication::setOrganizationDomain(getDeveloperDomain());
QSettings settings;
QApplication a(argc, argv);
QStringList args = a.arguments();
Qt::KeyboardModifiers test = QApplication::keyboardModifiers();
接收到代码 0,但期待指示哪些键被按下的位标志。