別のモジュールから変数を受ける方法は熟知しているのですが、変数を与える(メイン⇒サブ)でつまづいております。
Main_GUI.py
import sub import PyQt5... class window(QWidget): def __init__(self): def initUI(self): global gg gg="●.png" sub.main() def main_1(): ex = window() ex.show() if __name__ == '__main__': main_1()
sub.py
import sys import tkinter as tk class viewerGUI(tk.Frame): def __init__(self,master=None): super().__init__(master) sys.path.append("Main_GUI ") from Main_GUI import gg print(gg) def main(): global root root=tk.Tk() gui=viewerGUI(master=root) gui.mainloop()
メイン.py(Main_GUI.py)を起動、main_1()が起動。
pyqt5のGUIが起動し、ggの値を取得。global変数化。
サブ.pyのmain()を起動指示。
サブのmian()が起動し、tkinterが起動する前に、メイン帰属のgg変数を見に行く。
こんな感じです。
エラー内容:
ImportError: cannot import name 'gg' from 'Main_GUI' (C:\Users\●t\Main_GUI.py)
となります。他にもいろいろと試してみましたが、ggを取得できません。
変数なしで起動は確認(tkinterとpyqt5の相性は問題なし)
メインからサブへ、クラス関数以下になる変数の場合は取得方法が異なるのでしょうか?
宜しくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。