質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

受付中

別のモジュールへ変数を渡す Python

goki_gottan
goki_gottan

総合スコア160

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

3回答

0リアクション

0クリップ

441閲覧

投稿2022/07/12 02:14

別のモジュールから変数を受ける方法は熟知しているのですが、変数を与える(メイン⇒サブ)でつまづいております。

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の相性は問題なし)
メインからサブへ、クラス関数以下になる変数の場合は取得方法が異なるのでしょうか?

宜しくお願いいたします。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。