为什么我的 Qt 应用程序会忽略 applicationDisplayName 的设置?
Why does my Qt app ignore the setting of applicationDisplayName?
我是 运行 KDE Plasma 5 上使用 Qt 和 KDE 框架创建的一个小应用程序。几乎所有的东西都像魅力一样工作,只有一部分不起作用。我只是无法设置应用程序显示名称。我有以下代码:
int main(int argc, char **argv) {
QApplication application(argc, argv);
KLocalizedString::setApplicationDomain("blender-render-control");
KCrash::initialize();
KAboutData aboutData(QStringLiteral("blender-render-control-center"),
i18n("Blender Render Control Center"),
QStringLiteral("1.0"),
i18n("A simple application to control the blender render control server"),
KAboutLicense::Custom,
i18n("Copyright 2019, Knerd "));
aboutData.addAuthor(i18n("Knerd"), i18n("Author"), QStringLiteral("knerd@knerd.knerd"));
aboutData.setOrganizationDomain("knerd.knerd");
aboutData.setDesktopFileName(QStringLiteral("knerd.knerd.blender-render-control"));
KAboutData::setApplicationData(aboutData);
QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("knerd.knerd.blender-render-control")));
application.setApplicationDisplayName(i18n("Blender Render Control Center"));
application.setApplicationName(i18n("Blender Render Control Center"));
QCommandLineParser parser;
aboutData.setupCommandLine(&parser);
parser.process(application);
aboutData.processCommandLine(&parser);
auto *window = new MainWindow();
window->show();
return QApplication::exec();
}
通过阅读文档和检查一些示例,这应该在我的 KDE 环境中设置应用程序标题。但不是,应用程序名称是可执行文件的名称。
这是 KDE 中的错误还是我做错了什么?
文档对 applicationName 和 displayApplicationName 的实际用途有点混乱,有一些关于它的错误报告,如果我没记错的话,不同版本之间的行为也发生了变化。
如果你想要一个window-title,我想你可以做到。
window->setWindowTitle( QCoreApplication::applicationName() );
我是 运行 KDE Plasma 5 上使用 Qt 和 KDE 框架创建的一个小应用程序。几乎所有的东西都像魅力一样工作,只有一部分不起作用。我只是无法设置应用程序显示名称。我有以下代码:
int main(int argc, char **argv) { QApplication application(argc, argv); KLocalizedString::setApplicationDomain("blender-render-control"); KCrash::initialize(); KAboutData aboutData(QStringLiteral("blender-render-control-center"), i18n("Blender Render Control Center"), QStringLiteral("1.0"), i18n("A simple application to control the blender render control server"), KAboutLicense::Custom, i18n("Copyright 2019, Knerd ")); aboutData.addAuthor(i18n("Knerd"), i18n("Author"), QStringLiteral("knerd@knerd.knerd")); aboutData.setOrganizationDomain("knerd.knerd"); aboutData.setDesktopFileName(QStringLiteral("knerd.knerd.blender-render-control")); KAboutData::setApplicationData(aboutData); QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("knerd.knerd.blender-render-control"))); application.setApplicationDisplayName(i18n("Blender Render Control Center")); application.setApplicationName(i18n("Blender Render Control Center")); QCommandLineParser parser; aboutData.setupCommandLine(&parser); parser.process(application); aboutData.processCommandLine(&parser); auto *window = new MainWindow(); window->show(); return QApplication::exec(); }
通过阅读文档和检查一些示例,这应该在我的 KDE 环境中设置应用程序标题。但不是,应用程序名称是可执行文件的名称。
这是 KDE 中的错误还是我做错了什么?
文档对 applicationName 和 displayApplicationName 的实际用途有点混乱,有一些关于它的错误报告,如果我没记错的话,不同版本之间的行为也发生了变化。
如果你想要一个window-title,我想你可以做到。
window->setWindowTitle( QCoreApplication::applicationName() );