私はこのような理由でテストアプリを作った。私はButtonRelease-1イベントコールを別のファイルの中で呼び出そうとしています。私はアプリケーションを実行しようとするときに構文を取得しています。tkinterの別のモジュールからイベントを呼び出す方法
例外TypeError:ListBのは()これはかなり海峡前方構文ですが、私は、この特定の状況でそれを修正することはできません正確に2つの引数(与えられた1)
をとります。私は基本的にイベントをクリックした情報を印刷させるだけです。他のファイル内の関数がイベントを再調整していないので、それは機能していないイベントです。
とにかく、このコードを修正してうまく動作するようにします。関数は別のファイルにとどまっていなければなりません。これは、同じファイルにあってもできない場合は簡単です。
start.py
from Tkinter import *
import example_funcs as EF
class Page_three(Frame):
def __init__(self):
Frame.__init__(self)
self.pack()
self.listboxs()
def listboxs(self):
self.z = Listbox(self)
self.z.grid()
for item in range(1,10):
self.z.insert(END, item)
self.z.bind("<ButtonRelease-1>", EF.listb(self))
root = Tk()
app = Page_three()
app.mainloop()
example_funcs.py変数は、関数の内部呼び出すことができるように、自己が使用されている
from Tkinter import *
import Tkinter as tk
def listb(self, event):
selection = self.z.curselection()
print selection
インスタンスとしての自己を呼び出していない場合は、それが見つからないの構文を持っています私のリストボックス変数。
これはあまりにも多くのコードです。これを[mcve]に減らしてみてください。 –
@BryanOakleyは、今回は非常に短くしました。 – ricky6991