前提・実現したいこと
python初心者です。
jupyter notebook を用いてコードを書いています。
・コンボボックスとエントリーの2つと、ボタン1つを横1列に表示する
・ボタンを押すとコンボボックスとエントリーのの中身を取得し、jupyterに表示する
という動作を実現したいと考えています。
そこで、.bindを利用してボタンが押されたタイミングでコンボボックスとエントリーの中を.get()を利用して取得し、print関数で表示したいと考えました。
発生している問題・エラーメッセージ
エラーメッセージ: エラーは発生しませんが、ボタンを押してもbindの内容が実行されません。
該当のソースコード
python3です
ソースコード
root = tk.Tk()# ルートフレームの作成
root.geometry("400x300")
event=0
frame=[]
L1=[]
combo=[]
frame.append(tk.Frame(root,pady=10))
frame[0].pack()
L1.append(tk.Label(frame[0],text="項目:"))#ラベルパック
L1[0].pack(side=tk.LEFT)
combo.append(ttk.Combobox(frame[0], state='readonly',font=("",12),width=10))#項目リスト
combo[0]["values"] = ("食費","住宅費","光熱費")
combo[0].current(0)
combo[0].pack(side=tk.LEFT)
L2=tk.Label(frame[0],text="入力値:")#ラベルパック
L2.pack(side=tk.LEFT)
entry=tk.Entry(frame[0],font=("",12),width=12)
entry.pack(side=tk.LEFT)
button = tk.Button(frame[0],text="表示",command=lambda : print("put"))#ボタン確認
button.pack(side=tk.LEFT)
button.bind("<1>",return_entry(event,combo[0],entry))#実際に動作したい内容
root.mainloop()
試したこと
ラムダ関数でボタンの中に処理を記載すると、ボタンを押した際に動作することを確認しました。
一方で、.bindでボタンを指定してもshift+enterで実行した瞬間だけ処理が行われているように見えます。
補足情報(FW/ツールのバージョンなど)
jupyter notebook 5.0.0を使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/06 03:57