前提・実現したいこと
Pythonのtkinterを用いて,図のようにentryに文字を入力し,nextを押すことでentryに入った文字列を変数としてメインのプログラムが動くというものを作りたいです.
発生している問題・エラーメッセージ
python
1from tkinter import * 2from tkinter import filedialog, ttk 3import pandas as pd 4 5 6class Sample(ttk.Frame): 7 8 def __init__(self, master=None): 9 super().__init__(master) 10 self.ans_list = [] 11 12 def embed_label_entry(self, txt, row, column=0): 13 lbl = ttk.Label(text=txt) 14 lbl.grid(row=row, column=column) 15 entry = ttk.Entry() 16 entry.grid(row=row, column=column+1) 17 self.ans_list.append(entry.get()) 18 19 def proceed(self, txt, row): 20 21 def proceed_on_press(): 22 root.destroy() 23 24 btn = ttk.Button(text=txt, command=proceed_on_press) 25 btn.grid(row=row) 26 return self.ans_list 27 28 29root = Tk() 30root.title('Config Terminal') 31config = Sample(root) 32config.embed_label_entry(txt='test1', row=0) 33config.embed_label_entry(txt='test2', row=1) 34 35a = config.proceed(txt='Next', row=2) 36root.mainloop() 37 38 39def main(): 40 print(a) 41 42main() 43
ここで開いたウィンドウに1と2を入力してNextを押すと,
>>> ['', '']
となって,エントリーに入力した値が返ってきません.
戻り値はリストでなくても構わないのですが,,,
プログラミング初心者なので至らない点も多いと思いますが,教えていただけたら幸いです.
よろしくお願いします.
補足情報(FW/ツールのバージョンなど)
python 3.7
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/07 04:40