class MdiChild(QtGui.QTextEdit):
sequenceNumber = 1
def __init__(self):
super(MdiChild, self).__init__()
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
self.isUntitled = True
def newFile(self):
self.isUntitled = True
self.curFile = "document%d.txt" % MdiChild.sequenceNumber
MdiChild.sequenceNumber += 1
self.setWindowTitle(self.curFile + '[*]')
self.document().contentsChanged.connect(self.documentWasModified)
def documentWasModified(self):
self.setWindowModified(self.document().isModified())
此代码在创建新的子窗口时将document1.txt显示为子窗口的标题,并保持递增。当我在QTextedit中更改文本时,子窗口的标题将从document1.txt更改为document1.txt.*并且如果我删除*周围的[],则当打开新窗口时,它将显示document1.txt.*。所以我想知道[]在这个文档标题代码中的作用是什么,以及*是如何附加到文档标题的。
同时请说出以下一行的含义:
如docs中所述
如果使用windowModified机制,则窗口标题必须包含“[]”占位符,该占位符指示“”应出现的位置。通常,它应该出现在文件名之后(例如,“document1.txt[*]-Text Editor”)。如果windowModified属性为false(默认值),则只需删除占位符。在
现在你要问第二个问题
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
WA_DeleteOnClose
清除关闭文档的内存。在相关问题 更多 >
编程相关推荐