qt - 为什么我的 Qt 应用忽略了 applicationDisplayName 的设置?
问题描述
我正在使用 Qt 和 KDE 框架创建的 KDE Plasma 5 上运行一个小应用程序。几乎所有东西都像魅力一样起作用,只有一部分不起作用。我只是无法设置应用程序显示名称。我有以下代码:
int main(int argc, char **argv) { QApplication 应用程序(argc, argv); KLocalizedString::setApplicationDomain("blender-render-control"); KCrash::initialize(); KAboutData aboutData(QStringLiteral("blender-render-control-center"), i18n("Blender 渲染控制中心"), QStringLiteral("1.0"), i18n("一个控制搅拌机渲染控制服务器的简单应用程序"), KAboutLicense::自定义, i18n("版权所有 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 渲染控制中心")); application.setApplicationName(i18n("Blender 渲染控制中心")); QCommandLineParser 解析器; aboutData.setupCommandLine(&parser); parser.process(应用程序); aboutData.processCommandLine(&parser); 自动 *window = new MainWindow(); 窗口->显示(); 返回 QApplication::exec(); }
通过阅读文档并检查一些示例,这应该在我的 KDE 环境中设置应用程序标题。但事实并非如此,应用程序名称是可执行文件的名称。
这是 KDE 中的错误还是我做错了什么?
解决方案
文档对 applicationName 和 displayApplicationName 的实际用途有点混乱,有一些关于它的错误报告,如果我没记错的话,版本之间的行为已经改变。
如果你想要一个窗口标题,我想你可以做到。
window->setWindowTitle( QCoreApplication::applicationName() );
推荐阅读
- java - 我的应用程序在我的虚拟设备上运行,但不在我的物理设备上
- reactjs - onClick 事件未在简单代码上触发(ReactJS)
- javascript - 需要一个示例 html javascript 来使用 Firebase 进行 CRUD 操作
- javascript - 如何修复返回 [object Object]?
- javascript - 从 php 获取准确的数据到 jquery
- list - 机器人框架:字典没有关键错误
- thrift - 获取 Thrift 服务器的队列长度
- python - 如何使用 python 解决这个数学问题?
- sql - Postgres如何根据列保留最新副本并删除旧记录
- mysql - 填补数据中的月份和年份空白