2010-04-23 37 views
1

我試圖隱藏文本塊在的QTextEdit,但它不工作:如何在QTextEdit中設置文本塊的可見性?

block = textedit.document().begin() 
block.setVisible(False) 

此代碼工作正常QPlainTextEdit,但不適合的QTextEdit。在文件我還沒有發現它應該對如何工作的QTextEdit任何提及,只是下面:

無效QTextBlock ::調用setVisible(布爾可見) 設置爲可見塊的知名度 。

此功能是在Qt 4.4中引入的。

另請參閱isVisible()。

我該如何隱藏塊在QTextEdit?

謝謝您提前

回答

1

我已確認您的描述的行爲。另外,我已經確認,在你提供的代碼中,遵循setVisible方法,塊的可見性確實是False。

所以,我看到的最清晰的解釋是:QPlainTextEdit不從QTextEdit繼承。它們都從QScrollableArea繼承,我只能假設QTextEdit不尊重其文檔塊的可見性。 QPlainTextEdit使用的文檔使用QPlainTextLayout對象,而QTextEdit有其他我無法確定的東西。

所以......我不確定它可以按照你的意圖完成。一種替代方法是在之前過濾文本,然後將其放入QTextEdit中,Python非常適合執行此任務。

self.paragraphs = ["First paragraph","Second Paragraph","Third Paragraph",] 
self.display_text = '\n'.join(self.paragraphs[1:]) 
self.textedit.setText(self.display_text) 
相關問題