2017-03-02 2 views
0

여기 내 Tkinter 코드입니다. 나는 수평 및 수직 스크롤 바를 모두 보여주고 자한다.Tkinter 프로그램 : 아래쪽 스크롤바가 보이지 않습니다

from Tkinter import * 

root = Tk() 
scrollbar = Scrollbar(root) 
scrollbar.pack(side = RIGHT,fill = Y) 

scrollbar_x = Scrollbar(root) 
scrollbar_x.pack(side = BOTTOM,fill = X) 

mylist = Listbox(root,xscrollcommand = scrollbar_x.set,yscrollcommand = scrollbar.set) 
""" 
To connect a scrollbar to another widget w, set w's xscrollcommand or yscrollcommand to the scrollbar's set() method. The arguments have the same meaning as the values returned by the get() method. 
""" 
for line in range(100): 
    mylist.insert(END,("this is line number"+str(line))*100) 

mylist.pack(side = LEFT,fill=BOTH) 

scrollbar.config(command = mylist.yview) 
scrollbar_x.config(command = mylist.xview) 

print root.pack_slaves() 
mainloop() 

내 컴퓨터 인 Mac Sierra와 내 기대치가 일치하지 않습니다. 또한 scrollbar.config(command = mylist.yview)은 무엇을 의미합니까? 이 기능에 대한

config() 

자세한 내용은 ~ 도움 덕분에

될 것
+0

흥미 롭습니다 - 먼저 말하기 - 그것은 당신의 코드입니다. 그러면 코드에서 명령이 무엇을 의미하는지 질문하십시오. 물마루 tkinter 자습서에가보십시오 - 당신은 그 명령이 의미하는 것을 이해할 것입니다 – Drako

답변

1

의 Tkinter 프로그램 : 내게 복제 할 수 없습니다 하단 스크롤

을 표시하지 않습니다 내가 실행할 때 암호. 코드를 실행할 때 스크린 하단에 거대한 스크롤 막대가 나타납니다.

"x"스크롤바가 수직이 아닌 가로가되도록하려는 것 같습니다. 그게 사실이라면, 당신은 그 orient 옵션을 사용하여 Tkinter를 알려 주어야합니다 :

scrollbar_x = Scrollbar(root, orient="horizontal") 

또한, scrollbar.config 무슨 (명령 = mylist.yview)을 의미?

스크롤 막대는 양방향 통신이 필요합니다. 목록 상자는 스크롤 될 때 업데이트 할 스크롤 막대를 알 수 있도록 구성해야하며 스크롤 막대를 이동시킬 때 수정할 위젯을 알 수 있도록 스크롤바를 구성해야합니다.

scrollbar.config(command=mylist.yview)을 할 때 사용자가 스크롤바 조정을 시도 할 때마다 mylist.yview 함수를 호출하도록 스크롤바에 지시하고 있습니다. .yview 메서드는 Listbox 위젯에서 문서화 된 메서드입니다 (다른 소수의 메서드도 마찬가지 임). 스크롤바의 command 속성을 설정하지 않으면 스크롤 막대와 상호 작용해도 아무 효과가 없습니다.

관련 문제