前提・実現したいこと
pythonでKivyを用いて画面を作成。
画面のボタン押下時に変数に代入を行う。
その値をもとのモジュールで取得する。
発生している問題
ボタン押下時の処理にprint()を追加すると代入は確認できる。
しかし、元のモジュール側では代入されていない。
該当のソースコード
main.py
import datetime import inquirer import window global Mode def main(): Mode = 0 #GUIの起動 window.MainWinApp().run() print(Mode) #①
window.py
from kivy.config import Config Config.set('graphics', 'width', '900') Config.set('graphics', 'height', '480') from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Button from kivy.core.text import LabelBase, DEFAULT_FONT from kivy.resources import resource_add_path import main class MainWinScreen(BoxLayout): def __init__(self, **kwargs): super().__init__(**kwargs) def buttonClicked1(self): Mode = 1 print(Mode) #② class MainWinApp(App): def build(self): return MainWinScreen()
mainwin.kv
# -*- coding: utf-8 -*- MainWinScreen: <MainWinScreen>: BoxLayout: orientation: 'vertical' size: root.size Label: size_hint_y: 0.3 id: label1 text: "モードを選択してください" font_size: 26 BoxLayout: size_hint_y: 0.7 Button: id: button1 text: "ボタン1" font_size: 26 on_press: root.buttonClicked1()
補足情報
①のprint(Mode)では0
②のprint(Mode)では1
となります。
①の部分でもwindow.pyで代入した値を取得したいです。
pythonを初めて2日のため、右も左もわかっていない状態です。
追加で必要な情報がありましたら記載をしますのでご指摘ください。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/30 07:02