Qt应用程序标题

时间:2012-11-08 14:48:51

标签: c++ linux qt user-interface gnome

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

我设法使用methode

设置主窗口标题
setWindowTitle("my title");

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

如何更改?

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

4 个答案:

答案 0 :(得分:4)

尝试在主代码中使用QCoreApplication :: setApplicationName(“您的标题”)。

答案 1 :(得分:2)

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

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

使用示例:

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

或者,使用Qt Designer设置Window标题并使用windowTitle()访问它。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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

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

QApplication.applicationName似乎主要用于application-internal purposes


然后,更完整的(基本)设置将类似于以下内容(在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_())