2012-10-01 40 views
2

改變了我有一個QTabWidget父的QMainWindow管理的QTextEdit部件。(QT)如何檢查是否一個QTextEdit控件文本是從QTabWidget

我想知道什麼時候在一個標籤中更改內容並知道哪一個。 我一直在嘗試谷歌解決方案,但在我的代碼和體系結構更改我的課程許多更改後的行。

我最後的嘗試是:

QTextEdit* curr_text_edit = /*slots were used to get this pointer*/; 
connect(curr_text_edit, SIGNAL(textChanged()), this, SLOT(marquerChangement())); 

但槽 「marquerChangement()」 永遠不會被調用。有任何想法嗎?

回答

0

如果沒有調用marquerChangement(),則只能有兩個可能的原因。首先,由curr_text_edit表示的QTextEdit永遠不會發出信號(換句話說,也許你錯了QTextEdit?)。

另一種可能性是您撥打connect失敗。此信號/插槽連接在運行時完成,而不是在編譯時完成。這裏的失敗通常只是打印到標準輸出,然後程序開始順利運行。檢查您的應用程序輸出以查看您是否收到關於未找到信號或插槽的消息。

+0

我一直在檢查輸出,但沒有什麼有趣的。我一直在玩isWindowModified()和setWindowModified(),但直到現在,沒有成功。 :S –

+0

然後它一定是你有錯誤的curr_text_edit。如果您有權訪問可調試的Qt,請在QTextEdit發出該信號的地方設置一個斷點,並將「this」指針與您連接信號時所用的指針進行比較。 –

相關問題