QT申请标题

Qt application title

本文关键字:标题 QT      更新时间:2023-10-16

我正在开发QT应用程序

我设法使用Methode设置了主窗口标题

setWindowTitle("my title");

但是,这更改了应用程序顶部的名称,它不会影响Gnome Shell(Ubuntu)顶部栏的标题,也不会影响执行Alt Tab时显示的标题。

如何更改它?

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

尝试使用qcoreApplication :: setapplicationname(" your title")中的主代码。

一旦通过编程正确设置,要获取用作标题的应用名称,只需使用static getter方法 QCoreApplication::applicationName()QtGUIApplication::applicationDisplayName()(自v5)。

从v5中,如果未设置属性,则将落回可执行的名称。

示例使用:

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

另外,用QT设计器设置窗口标题,并使用windowTitle()访问它。

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

qt似乎正在传递第一个参数的第一个项目构造器的签名到基础窗口管理器:

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

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


更完整的(基本)设置将看起来像这样(在Python,C 是类似的) - 不是MyQApplication的SuperClass构造函数的调用:

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_())

您可以转到QT创建者中的设计师,然后在右侧更改对象的标题。