如何在pyside中更改窗口标题?

Ale*_*lex 8 python pyside

我已经阅读了有关以下事项的文档,但是Qt非常复杂,我可能错过了这篇文章.

我创建了一个QMainWindow并使用设置标题self.setWindowTitle.稍后在代码中我想简单地更改此标题,因此我self.setWindowTitle再次使用该方法.但这只是从我的应用程序中删除了标题,但在Ubuntu的面板上放了正确的标题.

关于Ubuntu系统的进一步说明:例如,当我在webbrowser窗口中编辑此文本时,标题为"如何更改窗口...",并在计算机屏幕顶部的面板上显示文本'Firefox Web浏览器".

我的pysideQt示例现在从应用程序窗口中删除标题,并将其放在上面的面板上.

除了setWindowTitle更改标题之外,我还需要一种不同的方法吗?也许来自centralWidget,或MenuBar,还是其他一些元素?为什么标题首先消失了?

第一次调用setWindowTitle标题'PicSel' 后的Ubuntu屏幕截图在应用程序窗口标题和顶部Ubuntu面板上设置(或者不管这个名称):

在第一次设置Windows标题后

第二次调用后的Ubuntu截图setWindowTitle- 标题未在应用程序窗口本身上设置,但在最顶层的面板上:

第二次设置Windows标题后

Val*_*dar 6

import sys
from PySide import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):      

        cb = QtGui.QCheckBox('Show title', self)
        cb.move(20, 20)
        cb.toggle()
        cb.stateChanged.connect(self.changeTitle)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('QtGui.QCheckBox')
        self.show()

    def changeTitle(self, state):

        if state == QtCore.Qt.Checked:
            self.setWindowTitle('Checkbox')
        else:
            self.setWindowTitle('')

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

来源:http: //zetcode.com/gui/pysidetutorial/widgets/