문제

qplaintextedit에 문제가 있습니다. 내용이 수정 될 때마다 "내용이 수정 된"별표가 제목 표시 줄에 나타나기를 원합니다.

아래 예에서는 몇 글자를 입력하십시오. 별표가 예정인 것으로 나타납니다. Ctrl+S를 누르면 별표가 사라집니다. 그러나 몇 글자를 더 입력하면 ... 왜 별표가 다시 나타나지 않습니까?

import os, sys

from PyQt4 import QtGui, QtCore

class MyTextEdit(QtGui.QPlainTextEdit):  
    def __init__(self):
        QtGui.QPlainTextEdit.__init__(self)     

        save_seq = QtGui.QKeySequence.Save
        self.save_shortcut = QtGui.QShortcut(save_seq, self, self.save)

        QtCore.QObject.connect(self, 
                               QtCore.SIGNAL("modificationChanged(bool)"),
                               self.on_change)

    def on_change(self, is_modified):
        print "on_change"
        window.setWindowModified(is_modified)

    def save(self):
        window.setWindowModified(False)
#


app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
edit = MyTextEdit()
window.setCentralWidget(edit)
window.setWindowTitle("None [*]")
window.show()
app.exec_()
도움이 되었습니까?

해결책

신경 쓰지 마세요. 문제는 저장 메소드에서 self.document ()를 호출해야한다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top