问:如何知道子窗口小部件中的内容是否已更改?

时间:2010-04-01 10:27:04

标签: c++ qt qt4

在QMainWindow我有2个QSplitters。在那个分离器中我有QTextEdit,QLineEdits,QTableWinget,Ragio按钮等等......我想知道在按下File-> New菜单按钮后是否已经找到了somthing。有没有通用的方法呢?

Somwhere我已经读过,建议使用QMainWindow的isWindowModified()函数,但似乎它不起作用。

3 个答案:

答案 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。 (但是,你不知道修改了哪些孩子)