Почему мое приложение Qt игнорирует настройку applicationDisplayName? - PullRequest
2 голосов
/ 10 апреля 2019

Я запускаю небольшое приложение на 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 или я что-то не так делаю?

1 Ответ

0 голосов
/ 10 апреля 2019

Документы немного сбивают с толку то, для чего фактически используются applicationName и displayApplicationName, было несколько сообщений об ошибках об этом, и поведение изменилось между версиями, если я правильно помню.

Если вы хотите заголовок окна, я думаю, вы можете сделать.

window->setWindowTitle( QCoreApplication::applicationName() );
...