2010-04-23 7 views
1

이 난은 QTextEdit에의를 TextBlock을 숨길려고했는데, 그것은 작동하지 않습니다QTextEdit에서 텍스트 블록의 가시성을 설정하는 방법은 무엇입니까?

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

이 코드는은 QTextEdit에 대한 QPlainTextEdit을 위해 잘 작동하지만. 문서에 난 그냥 다음, 그것은 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) 
관련 문제