2013-02-18 2 views
-1

나는 자식 창에 문제가있다 :Tkinter를 나쁜 자식 창

난 단지 아이를 (시작하는 경우) 전) (주 시작하고 자녀 (갈보다 경우 글꼴이

확인하다) 글꼴이 나쁜 ???

MANUALS : 1.Click 메인에 "아이" 2.Click 버튼 출구 "자식 창"의 글꼴에 diference를 볼 수는

from Tkinter import* 
import tkFont 
import ttk 

def main(): 
    win=Tk() 
    b0=ttk.Button(win,text="BUTTON", command=child).pack() 
    win.mainloop() 

def child(): 
    win=Tk() 
    Times=tkFont.Font(family="Times New Roman", size=30) 
    l0=ttk.Label(win,font=Times,text="Child",).pack() 
    win.mainloop() 

child() 
main() 

답변

0

나는 "당신이 무슨 뜻인지 모르는 나쁜". 그러나 다른 위젯을 작성하기 전에 Tk의 인스턴스를 작성해야하며 정확히 하나의 인스턴스를 작성해야합니다. 귀하의 예는 "나쁜"글꼴의 출처가 아니라면 다른 문제의 원인이 될 수있는 두 개의 인스턴스를 만듭니다.

프로그램에 다른 버그가 있습니다. 폰트와는 아무런 관련이 없지만 결국에는 당신을 끌어 올릴 것입니다. l0=ttk.Label(...).pack()을 수행하면 l0에 저장되는 내용은 pack()의 결과가되며 항상 None이됩니다. 그것은 거의 당신이 기대하는 것이 아닙니다.

+0

저는이 프로그램을 packyoust와 함께 사용하여 시각적 버그를 가장 빨리 보여줍니다. pack()을 사용하지 않습니다. 항상 place 메소드를 사용합니다. – urosjarc

+0

@ user2081554 : 장소 또는 팩을 사용하는 경우에도 문제가 동일합니다. 팩과 그리드를 사용하는 방법을 배우면 GUIS가 더 쉽게 작업 할 수 있습니다. Tk/Tkinter를 사용하는 나의 15 년 이상 동안, 나는 어쩌면 반 십여 시간을 사용했습니다. 드물게 최선의 선택이며, 오히려 특정한 상황에서만 가능합니다. –