2017-03-02 23 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シエラある私のコンピュータで私の期待に一致していません。 さらに、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属性を設定しないと、スクロールバーとの対話は効果がありません。

関連する問題