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。我想知道你是否愿意为此添加一个介绍性段落?我毫不怀疑它没有回答这个问题,但如果你能解释它是如何回答的,那就太好了!