2017-12-22 20 views
-3

파이썬으로 프로그램을 만들고 있는데, Tkinter를 사용하고 있습니다. 응용 프로그램이 잘 돌아가고있는 것처럼 보입니다.하지만 잠시 후 탐색 할 때마다 다음과 같은 메시지가 나타납니다. TclError : 나는 몇 가지 조사를했고 내가 거기에 창에 다음 "메뉴"에 대한 제한하지만, 내 질문은, 어떻게이 메뉴가 생성되고 있음을 알 수 있습니까 것을 발견 TclError : 더 이상 메뉴를 할당 할 수 없습니다.

TclError: No more menus can be allocated. 

? 사용을 중단하면 어떻게 삭제할 수 있습니까? 상위 메뉴를 "top.destroy()"로 삭제하는 메소드를 사용합니다. 하지만 점점 더 많은 메뉴를 생성하고 있으며 윈도우 힙이 넘치거나 그게 무엇이든간에.

다음은 내 프로그램의 소스 코드입니다. https://github.com/molBR/upgestao 누군가 도움이 될 수 있습니까? 미리 감사드립니다.

+2

왜 더 많은 메뉴를 생성합니까? 최악의 시나리오에서 12 개 또는 2 개 이상의 프로그램이 필요하다고 상상할 수는 없습니다. 우리가 어리석게 많은 수의 메뉴를 만드는 방법을 보여주는 [mcve]를 만들 수 있습니까? 외부 사이트의 코드로 링크하지 마십시오. 잠시 시간을내어 작게 축소하고 질문에 직접 포함하십시오. –

+0

질문에 코드 입력 – furas

+0

실제로 몇 개의 옵션 메뉴를 사용하고 있습니까? –

답변

0

자동 숨기기 메뉴를 만들 때 동일한 오류가 발생합니다. 처음에는 자동으로 생성 및 삭제 된 더미 (빈) 메뉴 모음을 숨겨 실제 메뉴 표시 줄을 대체했습니다. 그래서 수십개가 숨겨져 이 다음 오류를 표시하기 시작합니다. TclError: No more menus can be allocated.

해결책은 간단합니다. 자동으로 메뉴를 만들거나 삭제하지 마십시오.

원하는 메뉴를 모두 만들고 메모리에 저장하기 만하면됩니다. 삭제하지 마십시오. 그리고 프로그램 작업 중에 메뉴간에 전환하십시오.