前提・実現したいこと
作ったGUIのページ内容を保存したい。
作ったGUIのページ内容(No1~No11の人物の姓、名、性別、生年月日)
をtxtデータにて保存できるようにしたい。
teratail内あるいは、その他のサイトにて似たようなことをしているプログラムはないでしょうか。
あるいは、どのようにプログラムば良いか教えていただければ幸いです。
該当のソースコード
python
1#tkinterのインポート 2import tkinter as tk 3 4# ウィンドウを作成 5root = tk.Tk() 6root.title("Hello, World!") # タイトル 7root.geometry("500x300") # サイズ 8 9b = tk.Label(text="コントロール画面")# 文字の出力 10b.pack() 11 12 13#全Entry消去(前処理用) 14def clear(): 15 txt_No11.delete(0, tk.END) 16 txt_No12.delete(0, tk.END) 17 txt_No13.delete(0, tk.END) 18 txt_No21.delete(0, tk.END) 19 txt_No22.delete(0, tk.END) 20 txt_No23.delete(0, tk.END) 21 txt_No31.delete(0, tk.END) 22 txt_No32.delete(0, tk.END) 23 txt_No33.delete(0, tk.END) 24 txt_No41.delete(0, tk.END) 25 txt_No42.delete(0, tk.END) 26 txt_No43.delete(0, tk.END) 27 txt_No51.delete(0, tk.END) 28 txt_No52.delete(0, tk.END) 29 txt_No53.delete(0, tk.END) 30 31#全Entry再入力 32def hyoji(index): 33 txt_No11.insert(tk.END,no[index]) 34 txt_No21.insert(tk.END,性[index]) 35 txt_No31.insert(tk.END,名[index]) 36 txt_No41.insert(tk.END,性別[index]) 37 txt_No51.insert(tk.END,生年月日[index]) 38 39 index +=1 40 #print('index:', index)#確認用 41 if( index >= len(no)) : return 42 txt_No12.insert(tk.END,no[index]) 43 txt_No22.insert(tk.END,性[index]) 44 txt_No32.insert(tk.END,名[index]) 45 txt_No42.insert(tk.END,性別[index]) 46 txt_No52.insert(tk.END,生年月日[index]) 47 48 index +=1 49 #print('index:', index)#確認用 50 if( index >= len(no)) : return 51 txt_No13.insert(tk.END,no[index]) 52 txt_No23.insert(tk.END,性[index]) 53 txt_No33.insert(tk.END,名[index]) 54 txt_No43.insert(tk.END,性別[index]) 55 txt_No53.insert(tk.END,生年月日[index]) 56 57 58#前ボタン_前ページを出力 59def btn_prev(): 60 global pageid 61 if pageid-3 <0: 62 return 63 no[pageid] = txt_No11.get() 64 print(txt_No11.get()) 65 clear() 66 pageid-=3 67 hyoji(pageid) 68 69 70#次ボタン_次ページを出力 71def btn_next(): 72 global pageid 73 if pageid+3 >len(no): 74 return 75 clear() 76 pageid+=3 77 hyoji(pageid) 78 79 80#保存 81def btn_save(): 82 print('動作確認') 83 return 84 85 86# 各種ボタン設定 87Prev_button = tk.Button(root,text='前ボタン',command = btn_prev).place(width=50,x=300,y=250) 88Next_button = tk.Button(root,text='次ボタン',command = btn_next).place(width=50,x=375,y=250) 89Save_button = tk.Button(root,text='保存',command = btn_save).place(width=50,x=75,y=250) 90 91 92# テキスト注釈を表示 93lbl_1 = tk.Label(text='No.') 94lbl_1.place(x=30, y=50) 95 96lbl_2 = tk.Label(text='姓') 97lbl_2.place(x=110, y=50) 98 99lbl_3 = tk.Label(text='名') 100lbl_3.place(x=220, y=50) 101 102lbl_4 = tk.Label(text='性別') 103lbl_4.place(x=330, y=50) 104 105lbl_5 = tk.Label(text='生年月日') 106lbl_5.place(x=400, y=50) 107 108# テキストボックス1(No) 109txt_No11 = tk.Entry(width=8) 110txt_No11.place(x=30, y=80) 111 112txt_No12 = tk.Entry(width=8) 113txt_No12.place(x=30, y=110) 114 115txt_No13 = tk.Entry(width=8) 116txt_No13.place(x=30, y=140) 117 118 119# テキストボックス2(姓) 120txt_No21 = tk.Entry(width=12) 121txt_No21.place(x=110, y=80) 122 123txt_No22 = tk.Entry(width=12) 124txt_No22.place(x=110, y=110) 125 126txt_No23 = tk.Entry(width=12) 127txt_No23.place(x=110, y=140) 128 129 130# テキストボックス3(名前) 131txt_No31 = tk.Entry(width=12) 132txt_No31.place(x=220, y=80) 133 134txt_No32 = tk.Entry(width=12) 135txt_No32.place(x=220, y=110) 136 137txt_No33 = tk.Entry(width=12) 138txt_No33.place(x=220, y=140) 139 140 141# テキストボックス4(性別) 142txt_No41 = tk.Entry(width=8) 143txt_No41.place(x=330, y=80) 144 145txt_No42 = tk.Entry(width=8) 146txt_No42.place(x=330, y=110) 147 148txt_No43 = tk.Entry(width=8) 149txt_No43.place(x=330, y=140) 150 151 152# テキストボックス5(生年月日) 153txt_No51 = tk.Entry(width=12) 154txt_No51.place(x=400, y=80) 155 156txt_No52 = tk.Entry(width=12) 157txt_No52.place(x=400, y=110) 158 159txt_No53 = tk.Entry(width=12) 160txt_No53.place(x=400, y=140) 161 162no = ["1","2","3","4","5","6","7","8","9","10","11"] 163性 = ["渡邊","柳川","清野","根本","阿部","稲田","木内","三宅","石村","本郷","山田"] 164名 = ["沙樹","和臣","菜緒","駿斗","亜依","和徳","喜雄","美南","比呂","香帆","比呂"] 165性別 = ["女","男","女","男","女","男","男","女","男","女","男","女","男"] 166生年月日 = ["1988/07/15","1966/09/04","1979/06/08","1992/03/14","1977/04/04", 167 "1963/11/06","1972/08/21","1992/11/30","1967/12/07","1965/03/20","1977/04/04"] 168pageid = 0 169hyoji(pageid) 170 171root.mainloop( )
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。