前提・実現したいこと
Python Tkinterのentry boxをモジュール化します。
別のソースコードからモジュールを呼出してモジュール内の変数を使いたいのですがどのようにすればよいのか
わかりません。
教えていただけないでしょうか。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
以下はモジュール化する前の確認したソースコードです。
OKのボタンを押す毎にEntryboxの値がPrintされます。
モジュール化して他のソースコードにImportし、self.dateValue の変数を他のソースコードで使い、
同じようにprintで表示させたいのでが、GUIを表示する mainloop があるためか、
どうしてもOKのボタンを押しても表示させることができません。
こういった使い方をしたい場合はどのように書くべきか教えていだたけないでしょうか。
pyton
1import tkinter 2from tkinter import filedialog 3class Gui_18_v01(tkinter.LabelFrame): 4 5 def __init__(self,master=None): 6 super().__init__(master,bg="aquamarine", width=700, height=400) 7 self.pack() 8 x_width = 300 9 y_height = 60 10 11 self.dateValue = '' 12 13 #entry_Frame + OK_button 14 self.date_frame = tkinter.LabelFrame(master=None,text="DATE InPut",bg="lavender") 15 self.date_frame.place(x=0, y=0, width=x_width, height=y_height) 16 17 self.date_label = tkinter.Label(self.date_frame,text = "●",padx=10) 18 self.date_label.pack(side=tkinter.LEFT) 19 20 self.dateInfo = tkinter.StringVar() 21 22 self.dateInfo.set("17-05-11") 23 self.date_entry = tkinter.Entry(self.date_frame,width=25, 24 textvariable = self.dateInfo,justify='center') 25 self.date_entry.pack(side=tkinter.LEFT,padx=10) 26 27 self.datebtn = tkinter.Button(self.date_frame,text="OK",command=self.date_in,fg='blue') 28 self.datebtn.pack(side=tkinter.LEFT,padx=10) 29 30 def date_in(self): 31 self.dateValue = self.dateInfo.get() 32 print(self.dateValue) 33# return(self.dateValue) 34 35 36if __name__=='__main__': 37 root_frame = tkinter.Tk() 38 app = Gui_18_v01(master=root_frame) 39# print(app.date_in()) 40 app.mainloop() 41
試したこと
Classの継承を使うと何とか実現することができましたが、別の不明な問題が発生しより分からなくなりました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/11 02:08
2018/12/12 22:14 編集
2018/12/14 02:02