前提・実現したいこと
PysimpleGUIで
同じ階層にいるソースファイルのクラスをインポートしたい
(3つとも同じ階層)
発生している問題・エラーメッセージ
main.pyを実行して、「テスト開始」ボタンを押すと NameError: name 'sg' is not defined となる。 (あとまだ読み込めていないので予想ですが、test.pyのインスタンスpopup2が認識されるのか疑問です。 クラスTestpopupをインポートしているだけなので。どうすればよいでしょうか)
該当のソースコード
(上から、main.py,test.py,point.py)
import PySimpleGUI as sg from test import TestPopup layout = [ [sg.Text("覚えたい単語:"),sg.InputText()], [sg.Text("その意味:"),sg.InputText()], [sg.Button("追加")], [sg.Button("削除")], [sg.Button("テスト開始")] ] window = sg.Window("単語暗記", layout) #タイトル d ={} def listadd(): d[values[0]]=values[1] print(d) def listdelete(): del d[values[0]] print(d) while True: event, values = window.read() if event == sg.WIN_CLOSED or event == 'Cancel': break if event == "追加": listadd() if event == "削除": listdelete() if event =="テスト開始": popup1 = TestPopup() popup1.Move() window.close() ################################ import PySimpleGUI as sg from point import PointPopup class TestPopup(): def __init__(self): self.layout = [ [sg.Text("TEST",size=(20,1))], [sg.Button("ファイル参照")], [sg.Button("終了")], ] self.window =sg.Window(title="Test",layout=self.layout) def Move(self): while True: event,values = self.window.read() if event == sg.WIN_CLOSED: break if event == "ファイル参照": sg.popup_get_file("ファイル") if event == "終了": popup2 = PointPopup() popup2.Finish() self.window.close() ################################ import PySimpleGUI as sg class PointPopup(): def __init__(self): self.layout = [ [sg.Text("POINT",size=(20,1))], [sg.Button("確認")], ] self.window =sg.Window(title="Point",layout=self.layout) def Finish(self): while True: event,values = self.window.read() if event == "確認" or event == sg.WIN_CLOSED: break self.window.close()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/21 09:47
2020/07/21 09:57
2020/07/21 10:06