我在Windows 8和Qt 5下使用Qt Creator / Designer创建了一个应用程序
它从以下开始
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
#MainWindow.setApplicationName("Facturo-Pro") # this doesn't work
MainWindow.setWindowIcon(QtGui.QIcon('icons/app.png'))
MainWindow.setObjectName("MainWindow")
MainWindow.setMinimumSize(QtCore.QSize(800, 600))
MainWindow.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
我想设置应该在窗口标题和任务栏上显示的应用程序名称
我尝试使用 QtCore.QCoreApplication.setOrganizationName("Moose Soft")
QtCore.QCoreApplication.setApplicationName("Facturo-Pro")
或
QtCore.QSettings("my app","my org")
但它没有用,在任务栏和窗口标题中,我看到" python"
我不想使用setWindowTitle()
,因为我想使用
MainWindow.setWindowFilePath(self.currentFile)
所以我稍后会更新FilePath,当编辑它时," *"将显示在窗口标题上!
答案 0 :(得分:3)
使用Qt5,您可以设置applicationDisplayName,它与主标题栏文本分开。
要在标题栏中显示modification state,您可以这样做:
QtWidget.qApp.setApplicationDisplayName('Test')
...
window.setWindowFilePath('/path/to/file.txt')
window.setWindowModified(True)
并且标题栏看起来像这样: file.txt * - 测试
或者,在设置window title时,您可以通过使用特殊占位符来更多地控制标题栏文本:
window.setWindowTitle('/path/to/file.txt[*]')
window.setWindowModified(True)
并且标题栏看起来像这样: /path/to/file.txt* - 测试
修改强>:
如果你正在使用Qt4,则不会有applicationDisplayName
,所以你可以试试这个,而不是:
QtGui.qApp.setApplicationName('Test')
...
window.setWindowTitle(
'/path/to/file.txt[*] - %s' % QtGui.qApp.applicationName())
window.setWindowModified(True)
并且标题栏应如下所示: /path/to/file.txt* - 测试