Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在pyside中更改窗口标题?_Python_Pyside - Fatal编程技术网

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

Python 如何在pyside中更改窗口标题?,python,pyside,Python,Pyside,我已经阅读了关于以下内容的文档,但是Qt非常复杂,我可能错过了这篇文章 我已经创建了一个QMainWindow,并使用self.setWindowTitle设置了一个标题。在后面的代码中,我想简单地更改这个标题,因此我再次使用了方法self.setWindowTitle。但这只是从我的应用程序中删除了标题,但在Ubuntu的面板上放置了正确的标题 关于Ubuntu系统的进一步解释:例如,当我在webbrowser窗口中编辑此文本时,标题是“如何更改窗口…”,在计算机屏幕顶部的面板上,我看到文本“

我已经阅读了关于以下内容的文档,但是
Qt
非常复杂,我可能错过了这篇文章

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

关于Ubuntu系统的进一步解释:例如,当我在webbrowser窗口中编辑此文本时,标题是“如何更改窗口…”,在计算机屏幕顶部的面板上,我看到文本“Firefox Web Browser”

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

我是否需要除
setWindowTitle
以外的其他方法来更改标题?也许是从中央Widget,菜单栏,或其他元素?为什么这个头衔一开始就消失了

首次调用
setWindowTitle
后的Ubuntu屏幕截图-标题“PicSel”设置在应用程序窗口标题和Ubuntu顶部面板上(或其他任何名称):

第二次调用
setWindowTitle
后的Ubuntu屏幕截图-标题不是在应用程序窗口本身上设置的,而是在最上面的面板上:

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


资料来源:

你能提供一些澄清(或者图片)吗?我不确定这是否只是我,但这“但这只是从我的应用程序中删除了标题,但在Ubuntu的面板上放置了正确的标题”不是很清楚。你能提供一个你所说的应用程序窗口标题的图像吗?看起来你正在更改主窗口的标题而不是对话框的标题。你还需要考虑多文档界面(MDI)和单文档界面(SDI)的编程。那么,我怎样才能改变对话框的标题呢?我只是在FEDORA 15的应用程序上尝试这个,我正在开发,它的效果和预期的一样。也许它是特定于操作系统的?只是在Ubuntu 14.04、Python 3.4和PySide 1.2.1上也尝试过了,它的工作原理与预期一样(QMainWindow小部件标题和应用程序标题都在更改,没有任何东西会消失)。也许这与你的自定义窗口装饰有关,或者这是你的Ubuntu中的一个bug。我想知道你是否愿意为此添加一个介绍性段落?我毫不怀疑它没有回答这个问题,但如果你能解释它是如何回答的,那就太好了!