2017-06-07 20 views
-1

私のコードでは、リストボックスウィジェットにいくつかのウィジェットを追加したいので、後でスクロールバーを使用することができます。ここで問題となるのは、リストボックスは、ウィジェットをいくつ入れても展開され続け、スクロールバーは更新されないため使用できないということです。どうすればこの問題を解決できますか?Tkinter - スクロールバー付きリストボックス

from tkinter import *  

def pr_deleteChart(): 
    global _plotDictionary 

    #_F_delChart.iconbitmap('ContaParole_icona.ico') 

    _F_mainUpper = Frame(_root) 
    _F_mainUpper.grid(row = 0, column = 0, padx = 5, pady = 5, sticky = "nsew") 

    _F_mainLower = Frame(_root) 
    _F_mainLower.grid(row = 1, column = 0, padx = 5, sticky = "sew") 

    #listbox scrollbar 
    _S_ListBoxScrollBar = Scrollbar(_F_mainUpper,orient = "vertical") 
    _S_ListBoxScrollBar.grid(row = 1, column = 1, sticky = "nse") 

    #Main listbox 
    _L_mainListBox = Listbox(_F_mainUpper) 
    _L_mainListBox.grid(row = 1, column = 0, sticky = "nsew") 

    _S_ListBoxScrollBar.config(command = _L_mainListBox.yview) 

    #Carico lista di chiavi 
    keysList = list(_graphReferences.keys()) 

    #Per ogni grafico salvo variabile, checkButton e salvo tutto dentro _plotDictionary 
    for index in range(0,len(keysList)): 

     button = Checkbutton(_L_mainListBox, text = keysList[index]) 
     button.grid(row = index, column = 0, sticky = "nw") 

if __name__== "__main__": 

    _root = Tk() 
    _root.title("Main window") 
    _root.resizable(width = FALSE, height = FALSE) 

    _graphReferences = {"1":"2","3":"4","5":"6","7":"8","9":"10","11":"12"} 

    pr_deleteChart() 
+0

あなたのコードを実行すると、 'NameError:name 'という項目が'定義されていません 'というメッセージが表示されます。それを修正すると別のエラーが発生し、修正すると別の問題が発生します。作業中の[mcve] –

+0

を作成してください。 – Luke84

+0

あなたのコメントは、ウィジェットをテキストウィジェットに追加したいと言っていますが、コードにはテキストウィジェットはありません。 –

答えて

0

あなたはgridpack、またはplaceをリストボックスに追加された項目をスクロールすることはできません。リストボックスに関連付けられたスクロールバーは、リストボックスのinsertメソッドを使用してリストボックスに追加されたアイテムのみをスクロールします。

関連する問題