質問
に示すように、
私は、ttk.Buttonのinvokeメソッドを使用しようとしていますTkDocsする
(の "コマンドコールバック" のを見て)、私はこのエラーを取得しておいてください。はAttributeError: 'NoneType' オブジェクトが属性を持っていません。
'起動'
だから、私は、インタラクティブシェルでこれを試します:
ActivePython 3.1.1.2 (ActiveState Software Inc.) based on
Python 3.1.1 (r311:74480, Aug 17 2009, 12:30:13) [MSC v.1500 32 bit (Intel)] on
win32
>>> from tkinter import *
>>> import tkinter.ttk as ttk
>>> root = Tk()
>>> button = ttk.Button(root, text="Test").grid(row=0, column=0)
>>> print(button)
None
ttk.ButtonはNoneを返すことを示しています。
ttk.ButtonはNoneを返すためのものです。そして、もしそうなら、なぜTkDocsはinvokeメソッドがあることを言うのでしょうか?
解決
いいえ、あなたは完全に間違っている:あなたのコードは、リターンをttk.Button
の のないショーがNone
ん - それは、ボタンオブジェクトのgrid
メソッドがNone
を返すことを示しています! を呼び出して、あなたが「ボタン」に代入していることを、あなたはそれがその.grid
戻る(ボタンオブジェクト)であるものは何でも上のttk.Button
を呼んでいることがわかり、それはそれのグリッドの結果だしないでください!
だから... ...右の代わりにそれを行います
button = ttk.Button(root, text="Test")
button.grid(row=0, column=0)
今、あなたはprint button
ことができ、もちろん結果は非常に異なるものになります - !)
所属していません StackOverflow