【为什么我的Qt应用程序会忽略applicationDisplayName的设置()】知识就是力量,时间就是生命。这篇文章主要讲述为什么我的Qt应用程序会忽略applicationDisplayName的设置?相关的知识,希望能为你提供帮助。
我在使用Qt和KDE框架创建的KDE Plasma 5上运行一个小应用程序。几乎所有东西都像魅力一样,只有一部分不起作用。我只是无法设置应用程序显示名称。我有以下代码:
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->
setWindowTitle( QCoreApplication::applicationName() );
推荐阅读
- 当我使用Qt Android Extras C ++ Classes时,如何防止Windows上的错误
- C#console app与DB first Entity Framework和AutoMapper,无法将Model转换为DbModel
- Web应用程序的客户端与服务器端与预渲染
- 如何构建用于开发的Raspberry Pi服务器
- 挖掘用于前端开发的ClojureScript
- Redux状态管理的顶级控制(ClojureScript教程)
- F#教程(如何构建完整的F#应用程序)
- 作为JS开发人员,这就是让我彻夜难眠的原因
- ActiveResource.js(快速为你的JSON API构建强大的JavaScript SDK)