내 문제는 다음과 같습니다. 파일이 여러 개 있고 이름이있는 드롭 다운 메뉴를 만들었습니다. 다음으로 필요한 것은 파일 이름을 선택하여 특정 데이터를 표시 할 때마다 변경할 수있는 옵션 메뉴입니다. 파일을 옵션으로. 분명히, 내 질문에 대한 옵션 메뉴를 변경하는 방법에 대해서만 드롭 다운 선택에서 선택됩니다. 어떤 도움을 주셔서 감사합니다.드롭 다운 메뉴의 선택 사항에 따라 tkinter에서 옵션 위젯을 동적으로 채울 수 있습니까?
1
A
답변
8
OptionMenu 위젯은 메뉴와 관련된 메뉴 버튼을 만드는 편리한 클래스입니다. 이 메뉴는 "menu"
속성을 통해 얻을 수 있습니다. 유일한 트릭은 메뉴 항목이 무엇을해야 하는지를 아는 것입니다. 이것은 관련된 변수의 값을 설정하는 것 이상입니다. OptionMenu이 명령 옵션을 제공로서 나는이 방법을 이미 (있는 경우) 주어진 명령에 대한 참조를 유지하고 새로운 옵션에 전달하기 위해 제안,
import Tkinter as tk
class SampleApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.om_variable = tk.StringVar(self)
b1 = tk.Button(self, text="Colors", width=8, command=self.use_colors)
b2 = tk.Button(self, text="Sizes", width=8, command=self.use_sizes)
self.om = tk.OptionMenu(self, self.om_variable,())
self.om.configure(width=20)
self.use_colors()
b1.pack(side="left")
b2.pack(side="left")
self.om.pack(side="left", fill="x", expand=True)
def _reset_option_menu(self, options, index=None):
'''reset the values in the option menu
if index is given, set the value of the menu to
the option at the given index
'''
menu = self.om["menu"]
menu.delete(0, "end")
for string in options:
menu.add_command(label=string,
command=lambda value=string:
self.om_variable.set(value))
if index is not None:
self.om_variable.set(options[index])
def use_colors(self):
'''Switch the option menu to display colors'''
self._reset_option_menu(["red","orange","green","blue"], 0)
def use_sizes(self):
'''Switch the option menu to display sizes'''
self._reset_option_menu(["x-small", "small", "medium", "large"], 0)
if __name__ == "__main__":
app = SampleApp()
app.mainloop()
-1
: 여기
은 예입니다 이전의 대답은 정말 브라이언 Oakl에 의해 주어진 답을 유용 Btw는 어떤 사용 의def __init__(self, *args, **kwargs):
...
self.command=kwargs['command']
...
def _reset_option_menu(options, index=None):
...
menu.add_command(label=string,
command=lambda:self.command(),
value=self.om_variable.set(string))
...
희망의 기반으로
attendion 변수 ey,
관련 문제
- 1. 동적으로 채울 드롭 다운 목록
- 2. 드롭 다운 선택, 선택한 옵션
- 3. 사용자 선택 드롭 다운
- 4. 드롭 다운 메뉴의 앵커
- 5. 동적으로 드롭 다운 상자에 옵션 추가
- 6. 드롭 다운 목록의 옵션 값을 동적으로 변경하십시오.
- 7. jquery를 사용하여 선택 드롭 다운 목록을 채울 수 없습니다.
- 8. 이전 선택 사항에 따라 옵션을 비활성화하려면 어떻게합니까?
- 9. WATIR 속성이없는 드롭 다운 옵션 선택
- 10. JQuery를 사용하여 드롭 다운 메뉴의 선택한 옵션 변경
- 11. 변경 이미지 드롭 다운 옵션에 따라
- 12. 드롭 다운 옵션 그룹
- 13. 드롭 다운 옵션 변경
- 14. HTML 드롭 다운 확인 옵션
- 15. CSS가있는 드롭 다운 메뉴의 크기를 고정하는 방법
- 16. 클릭하면 SELECT 드롭 다운을 채울 수 있습니까?
- 17. 드롭 다운 옵션 세트 innerHTML도 값을 설정합니다.
- 18. HTML 드롭 다운 선택 값
- 19. 여러 데이터베이스 테이블에서 드롭 다운 선택 채우기
- 20. .txt에서 선택 드롭 다운 만들기?
- 21. 자바 스크립트의 선택한 라디오 버튼에 따라 드롭 다운 옵션
- 22. 이전 선택에 따라 mysql에서 jquery 드롭 다운
- 23. 드롭 다운 선택 컨트롤
- 24. 드롭 다운 선택 루비 레일
- 25. 드롭 다운 메뉴의 IE7 불투명도 문제
- 26. 드롭 다운/선택 목록 채우기
- 27. 메인 메뉴의 드롭 다운 메뉴를 유지하려면 어떻게해야합니까?
- 28. 드롭 다운 선택 값
- 29. 드롭 다운 선택
- 30. sukerfish 드롭 다운 메뉴의 인터넷 익스플로러 문제
매우 유용한 설명과 매우 유용합니다. 감사합니다. – GiannisIordanou
그럼, 이미 인스턴스화 된 메뉴에 메뉴 항목을 동적으로 추가하여 새 항목을 만들 수 있기 전에 메뉴 항목을 삭제해야한다는 말입니까? – Shule
@ user2962794 : 아니, 그건 내가 말하는 말은 아니야. 거기에있는 항목을 삭제할 필요는 없습니다. 그 중심에 그냥 메뉴이고, 당신은 모든 메뉴 방법에 대한 전체 액세스 권한이 있습니다. 새 항목을 삽입하고 기존 항목을 삭제하거나 수정할 수 있습니다. –