我正在开发一个Qt应用程序
我设法使用methode
设置主窗口标题setWindowTitle("my title");
然而,这会更改应用程序顶部栏中的名称,它不会影响gnome shell(ubuntu)顶部栏中显示的标题,也不会影响执行alt + tab时显示的标题。
如何更改?
我尝试在.pro文件中使用DEPLOYMENT.display_name变量
答案 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_())