前提
Pythonにて日報入力ツールを作成しています。
各項目をテキストボックスに入力し、テキストファイル出力ボタンをクリックすることで、テキストファイル形式で保存されるようにしたいです。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
この構文だとテキストボックス1のしか書き込まれずに保存されてしまいます。
全部のテキストボックスの値をテキストファイルに出力したいです。
発生している問題・エラーメッセージ
エラーは出ません。
該当のソースコード
import tkinter as tk def main_export(): #main_viewという窓を作成する。 main_view = tk.Tk() main_view.title("日報作成ツール") #windowの表示名 main_view.geometry("800x600") #大きさを指定 #ラベル lbl = tk.Label(text='社員番号') lbl.place(x=10, y=10) value_in_box = tk.StringVar() txt1 = tk.Entry(master=main_view, textvariable=value_in_box, width=12) txt1.place(x=70, y=10) #名前ラベルとテキストボックスの表示 lbl2 = tk.Label(text='名前') lbl2.place(x=210, y=10) value_in_box = tk.StringVar() txt2 = tk.Entry(master=main_view, textvariable=value_in_box, width=12) txt2.place(x=250, y=10) #日付ラベルとテキストボックスの表示 lbl3 = tk.Label(text='日付') lbl3.place(x=410, y=10) value_in_box = tk.StringVar() txt3 = tk.Entry(master=main_view, textvariable=value_in_box, width=12) txt3.place(x=450, y=10) #目標ラベルとテキストボックスの表示 lbl4 = tk.Label(text='目標') lbl4.place(x=10, y=50) value_in_box = tk.StringVar() txt4 = tk.Entry(master=main_view, textvariable=value_in_box, width=50) txt4.place(x=75, y=50) #やるべきことラベルとテキストボックスの表示 lbl5 = tk.Label(text='その為にやるべきこと') lbl5.place(x=350, y=50) value_in_box = tk.StringVar() txt5 = tk.Entry(master=main_view, textvariable=value_in_box, width=50) txt5.place(x=450, y=50) #書き出しボタンの配置 button = tk.Button(master=main_view, text="テキストファイル出力", command=lambda: write_file(txt1)) button.place(x=100, y=150) #main_viewを表示する無限ループ main_view.mainloop() return 0 def write_file(txt): input_txt = txt.get() #テキストバックス内の内容を取得 #ファイルへの書き込み with open("テスト.txt", mode='a') as f: #ファイルを書き込みモードで開く。 f.write(input_txt) #書き出す。 print("出力完了!!!") #書き出しが完了したことをターミナルで表示する。 return 0 if __name__ == "__main__": main_export()
試したこと
繰り返し分を考えましたが、クリック部分にtxt1とすると書き出しボタンの大量発生してしまう。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/12 05:54
2022/09/12 06:09