2017-12-21 18 views
0

ここで質問されているスクロールバーを表示する方法を見つけることができなかったたくさんのtkinter質問を読みました。どんな援助も大いに役立つだろう。Python Tkinterのスクロールバーが表示されない

self.resultsCanvas = Canvas(self, bg='white', height=300, width=300, relief=FLAT).grid(column=0, row=8) 
    self.resultsCanvas.config(yscrollcommand = self.scrollResults.set) 
    self.scrollResults = Scrollbar(root, command=self.resultsCanvas.yview).grid(column=11, row=8, sticky='E') 
    self.blankSpace03 = Label(self, text=" ").grid(column=1, row=9) 

私は、次のエラーメッセージが出ます:あなたが参照を保持したい場合は、同じ行にウィジェットを初期化してレイアウトすることはできません

self.resultsCanvas.config(yscrollcommand = self.scrollResults.set) 
AttributeError: 'NoneType' object has no attribute 'config' 

答えて

0

を。あなたは別々の行にそれらを配置する必要があります:

self.resultsCanvas = Canvas(self, bg='white', height=300, width=300, relief=FLAT) 
self.resultsCanvas.grid(column=0, row=8) 
self.scrollResults = Scrollbar(root, command=self.resultsCanvas.yview) 
self.scrollResults.grid(column=11, row=8, sticky='E') 
self.resultsCanvas.config(yscrollcommand = self.scrollResults.set) 

それは常に将来のバグのこの種のを避けるために別々の行を使用して良いことです。

+0

おかげ小説、私はラインを勃発が、今、私は別のエラーを取得しています: self.resultsCanvas.config(yscrollcommand = self.scrollResults.set) はAttributeError:「MainAppに」オブジェクトが無属性「scrollResults」 – jimsta

+0

を持っていますはい、使用する前にscrollResultsを定義する必要があります。私は自分の答えを更新しました。 – Novel

+0

ああ、私は気が気にしません。したがって、スクロールバーウィジェットを定義した後、yscrollコマンドを注文することが問題でした。あまりにもありがとう、ちょうどPythonを学ぶようになって、これは大きな助けになりました!今、スクロールバーをキャンバスの横に表示させ、キャンバスの下に表示させないようにする方法を考えなければなりません。D – jimsta

関連する問題