为什么我的Qt应用程序会忽略applicationDisplayName的设置?

问题描述 投票:5回答:1

我在使用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("[email protected]"));
        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中的错误还是我做错了什么?

qt kde
1个回答
0
投票

文档对applicationName和displayApplicationName实际使用的内容有点混淆,有一些关于它的错误报告,如果我记得错误,版本之间的行为也会发生变化。

如果你想要一个窗口标题,我想你可以做到。

window->setWindowTitle( QCoreApplication::applicationName() );
© www.soinside.com 2019 - 2024. All rights reserved.