在QMainWindow我有2个QSplitters。在那个分离器中我有QTextEdit,QLineEdits,QTableWinget,Ragio按钮等等......我想知道在按下File-> New菜单按钮后是否已经找到了somthing。有没有通用的方法呢?
Somwhere我已经读过,建议使用QMainWindow的isWindowModified()函数,但似乎它不起作用。
答案 0 :(得分:1)
setWindowModified() 不将 windowModified 标志传播给父母。此错误在此处描述:https://bugreports.qt.io/browse/QTBUG-20150。我刚试过它,确实没用。
答案 1 :(得分:0)
也许你应该看看QWidget::changeEvent。
答案 2 :(得分:0)
isWindowModified()在这里很有用,因为根据http://doc.trolltech.com/4.6/qwidget.html#windowModified-prop它传播到父节点。
但是,我认为您需要自己设置。例如,如果单击新按钮导致某些文本被插入到QTextEdit中,则仍需要调用QTextEdit的setWindowModified()函数 - 然后将其传播到QMainWindow - 之后您可以检查QMainWindow。 (但是,你不知道修改了哪些孩子)