17

我正在开发一个 Qt 应用程序

我设法使用方法设置主窗口标题

setWindowTitle("my title");

但是,这会更改应用程序顶部栏中的名称,它不会影响 gnome shell (ubuntu) 顶部栏中显示的标题,也不会影响执行 alt+tab 时显示的标题。

如何改变它?

我尝试在我的 .pro 文件中使用 DEPLOYMENT.display_name 变量

4

4 回答 4

10

尝试在主代码中使用 QCoreApplication::setApplicationName("your title") 。

于 2012-11-08T14:51:27.197 回答
6

一旦以编程方式正确设置,要获取用作标题的应用程序名称,只需使用静态 getter 方法QCoreApplication::applicationName()QtGUIApplication::applicationDisplayName()(自 V5 起)。

从 V5 开始,如果未设置该属性,这些将回退到可执行文件名称。

示例使用:

QCoreApplication::setApplicationName( QString("My Application") );
setWindowTitle( QCoreApplication::applicationName() );

或者,使用 Qt Designer 设置窗口标题并使用windowTitle().

于 2016-07-14T09:56:57.850 回答
3

应用程序名称窗口标题不同。窗口管理器通常将窗口标题绘制到(主)窗口的标题栏中,而应用程序名称由(例如Gnome)用来表示应用程序本身。

Qt 似乎将其构造函数签名的第一个参数的第一项传递给底层窗口管理器:

app = QApplication(('My Application Name',))

QApplication.applicationName似乎主要用于应用程序内部目的


一个更完整(基本)的设置看起来像这样(在 Python 中,C++ 将是类似的)——而不是调用MyQApplication' 的超类的构造函数:

from PySide import QtCore, QtGui
import sys


class MyQApplication(QtGui.QApplication):
    def __init__(self, app_name):
        super(MyQApplication, self).__init__((app_name,))

        self.setApplicationName(app_name)

        self.main_window = QtGui.QMainWindow()
        self.main_window.setWindowTitle("My Application's Main Window")
        self.main_window.show()


if __name__ == '__main__':
    app = MyQApplication("My Application's Name")
    sys.exit(app.exec_())

于 2019-06-02T12:12:55.337 回答
0

您可以在 Qt Creator 中的 Designer 并更改右侧的设置中的对象的标题。

于 2015-08-28T07:17:53.677 回答