그래서 wxPython을 더 잘 배우고 (그리고 내가 좋아하는 텍스트 편집기를 만들기 위해) 텍스트 편집기를 사용하고 있습니다 : P). wx.aui.AuiNotebook 클래스에 대한 많은 정보를 찾는 데 어려움을 겪고 있습니다. 한 가지 알고 싶은 것은 페이지와 상호 작용하는 방법입니다. 예를 들어, 페이지의 제목을 변경하는 방법을 알고 싶습니다 (저장하지 않은 변경 사항이있을 때 사용자가 저장하거나 표시 할 때 페이지 제목을 업데이트 할 수 있도록). 이 문제에 대한 어떤 도움이라도 대단히 감사하겠습니다! 당신이 그런 짓을 할 수 있도록wx.aui.AuiNotebook에서 페이지 제목을 어떻게 바꿉니 까?
1
A
답변
2
방법은, SetPageText
라고 : wx.aui.AuiNotebook.GetCurrentPage를 포함하지 않는 wxPython을 버전 2.8에서,
current_page = notebook.GetCurrentPage()
current_page_index = notebook.GetPageIndex(current_page)
current_label = notebook.GetPageText(current_page_index)
if not current_label.endswith(' (*)':
notebook.SetPageText(current_page_index, current_label + ' (*)')
1
분명히(). 분명히 깨닫지 못했던 것은 wx.aui.AuiNotebook의 "페이지"가 추가되고있는 패널과 동일하다는 것입니다. 따라서 다음 코드가 작동합니다.
self.panelBox = []
newPanel = wx.Panel(self, wx.ID_ANY)
#YADA YADA STUFF!
self.nb.AddPage(newPanel, "Untitled Document "+str(self.untitledDocCount))
currPageIndex = self.nb.GetPageIndex(newPanel)
currLabel = self.nb.GetPageText(currPageIndex)
if not currLabel.endswith(' (*)'):
self.nb.SetPageText(currPageIndex, currLabel+' (*)')
self.panelBox.append(newPanel)
페이지 (패널)에 액세스 할 수 있는지 확인하는 것은 프로그래머의 몫입니다. 패널 참조를 "패널 상자"에 저장 한 다음 "탭 변경"이벤트와 같은 조건에서 해당 패널 참조를 전환하여이 작업을 수행합니다. 이 방법이 가장 좋은 방법인지는 모르지만 지금까지는 효과가있는 것 같습니다.
관련 문제
- 1. phpinfo()는 페이지의 제목을 어떻게 영구적으로 바꿉니 까?
- 2. 초기화 된 개체는 어떻게 바꿉니 까?
- 3. Objective-C의 창 제목을 텍스트 상자의 제목으로 바꿉니 까?
- 4. routeurl의 문자를 바꿉니 까?
- 5. 역할을 만들거나 바꿉니 까?
- 6. CSS 규칙의 이름을 어떻게 바꿉니 까?
- 7. 파일 중간의 행을 어떻게 Perl로 바꿉니 까?
- 8. TreeSet 인스턴스에서 데이터의 순서를 어떻게 바꿉니 까?
- 9. PERFORCE의 분기 사양을 어떻게 바꿉니 까?
- 10. Morphia에서 자연 정렬을 어떻게 바꿉니 까?
- 11. (n?) UIButton의 기존 작업을 어떻게 바꿉니 까?
- 12. S3에서 버킷의 폴더 이름을 어떻게 바꿉니 까?
- 13. 어떻게 nonrepeating 문자를 .Net 정규식으로 바꿉니 까
- 14. 이 파일의 이름을 어떻게 바꿉니 까?
- 15. Oracle에서 기본 키 값을 어떻게 바꿉니 까?
- 16. Linux 커널은 파일 매핑 페이지를 어떻게 바꿉니 까?
- 17. JSON 개체를 찾아서 바꿉니 까?
- 18. 웹 사이트간에 텍스트를 바꿉니 까?
- 19. 이미지로드 순서를 뒤 바꿉니 까?
- 20. 정수 자릿수의 위치를 바꿉니 까?
- 21. 파일 설명자에서 이름을 바꿉니 까?
- 22. RSS 피드가 문자를 바꿉니 까?
- 23. Vim은 preVARIABLETEXTpost를 VARIABLETEXT로 바꿉니 까?
- 24. 메모장 ++ reg 식으로 바꿉니 까?
- 25. d3의 원형 차트의 일부분을 바꿉니 까?
- 26. Ruby on Rails 3에서 "javascripts"디렉토리의 이름을 어떻게 바꿉니 까?
- 27. webkit에서 CSS 키 프레임 애니메이션을 어떻게 바꿉니 까?
- 28. 어떻게 그리고 왜 컴파일러가 extern 함수를 null 함수로 바꿉니 까?
- 29. 메이플의 방정식 (RHS와 교환 LHS)을 어떻게 바꿉니 까?
- 30. ColdFusion에서 (유니 코드 대체 문자)를 어떻게 찾거나 바꿉니 까?
wxPython 버전 2.8에서 작동합니까? aui.AuiNotebook.GetCurrentPage가 존재하지 않는다는 오류가 나타납니다. 그것이 2.8에서 가능하지 않다면 GetCurrentPage없이 어떻게 할 것인가? – BrotherJack
wx.agw.aui 패키지를 사용하고 있었다고 잘못 알고 있었습니까? 나는 AUI 버전을 강력히 추천한다. 이것은 Andrea Gavana가 잘 관리하고있는 wx.aui의 파이썬 포트입니다. http://wiki.wxpython.org/AuiNotebook%20%28AGW%29를 참조하십시오. –
좋아, 내가 살펴 보겠다. 감사! – BrotherJack