PyQt:QPlainTextEditでの変更時のアスタリスクに関する問題
質問
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_()
解決
気にしないで、考え出した。問題は、saveメソッドで、window.setWindowModified(False)ではなくself.document()。setModified(False)を呼び出すべきだったということでした
所属していません StackOverflow