以下のコードは、上のテキストボックスに入力した値をデータフレームB列にあるか判定し、ある場合は下のテキストボックスに出力し、なければエラーウィンドウを吐き出すスクリプトになります。
ここで質問なのですが、ウィンドウXボタンで閉じたあとにスクリプトが実行したままになってしまいます。(jupyterlob でセルの左側が【*】のまま)
destroy()で終了できるとのことでしたが、うまくいかず。記述に問題があるか私自身ではまったくわからないのでこちらで質問させていただいた次第です。
改善点や、認識錯誤などありましたら、ご指摘お願いいたします。
python
1import tkinter as tk 2import pandas as pd 3from tkinter import messagebox 4 5def btn_click(): 6 area = box.get() 7 df = pd.DataFrame({'A':['1','2','3'], 'B':['4','5','6']}) 8 s_area = df[df['A'] == area] 9 s_area = s_area.reset_index() 10 box2.delete(0, tk.END) 11 try: 12 13 box2.insert(0, s_area['B'][0]) 14 except: 15 root = tk.Tk() 16 root.withdraw() 17 root.lift() 18 messagebox.showerror('エラー', '値が正しくありません。') 19 20root = tk.Tk() 21root.geometry('300x300') 22root.title('test') 23 24lbl = tk.Label(text = 'lbl') 25lbl.place(x=30, y=70) 26lbl2 = tk.Label(text = 'lbl2') 27lbl2.place(x=10, y=100) 28 29box = tk.Entry(width=30) 30box.place(x=70, y=70) 31box2 = tk.Entry(width=30) 32box2.place(x=70, y=100) 33 34btn = tk.Button(root, text='取得', command=btn_click, height=2,width=39) 35btn.place(x=10, y=200) 36root.mainloop()
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。