2017-02-03 10 views
0

スクロールバーとボタンを使用して、ユーザーがPythonのリストでクリックした行を選択するにはどうすればよいですか? ボタンのコマンドを使用して、定義された関数Get ... Do naeに手がかりを付けました。スクロールバーとボタンを使用して、ユーザーがPythonのリスト内のどの行をクリックするかを選択するにはどうすればよいですか?

from tkinter import * 

def get(): 
    userline=leftside.get(line) 
    print(userline) 

def scale(): 
    thescale=Tk() 
    scroll=Scrollbar(thescale) 
    scroll.pack(side=RIGHT, fill=Y) 

    leftside = Listbox(thescale, yscrollcommand = scroll.set) 
    for line in range(101): 
     leftside.insert(END, "Scale "+str(line)) 

    leftside.pack(side=LEFT, fill=BOTH) 
    scroll.config(command=leftside.yview) 

    selectbutton=Button(thescale, text="Select", command=get) 
    selectbutton.pack() 

    thescale.mainloop() 

scale() 
+1

なぜ 'def Get()'を 'def Scale()'に入れますか? – furas

+1

ところで、変数と関数には 'lower_case'という名前を使用します。 'select_button'、' get() 'です。私たちは 'CamelCase'という名前をクラスに対してのみ使用します。 'Button'、' Scrollbar'、 – furas

+0

私は本当にtbhを知っていません...私はこれを始めました。 – Daddy

答えて

0

ユーザが最後にクリックした項目に対応して「アクティブ」指標としてリストボックスウィジェット: これはこれまでのところ、私のコードです。従ってleftside.get('active')はあなたに必要なアイテムを与えます。また、getメソッドをscaleから移動する場合は、leftsideをグローバル変数にする必要があります。そうしないと、getの内部では使用できません。

from tkinter import Tk, Listbox, Button, Scrollbar 

def get(): 
    userline=leftside.get('active') 
    print(userline) 

def scale(): 
    global leftside 
    thescale=Tk() 
    scroll=Scrollbar(thescale) 
    scroll.pack(side='right', fill='y') 

    leftside = Listbox(thescale, yscrollcommand = scroll.set) 
    for line in range(101): 
     leftside.insert('end', "Scale "+str(line)) 

    leftside.pack(side='left', fill='both') 
    scroll.config(command=leftside.yview) 

    selectbutton=Button(thescale, text="Select", command=get) 
    selectbutton.pack() 

    thescale.mainloop() 

scale() 
関連する問題