как мне получить информацию из 1 класса в другой

#python #class #user-interface #kivy #return

Вопрос:

Новичок в python — kivy — gui

я пытаюсь получить информацию от 1 класса к другому, классы-это в основном разные экраны, которые у меня есть для моего графического интерфейса. я исследовал функцию возврата, но это совсем не помогает, потому что я нуб.

основной графический интерфейс, работающий в файле .kv это разбивка моего кода.

 PROJECT_PATH = ""

class TrainNew1(Screen):
    #takes user input,i click a button to submit, runs this function.
    def test(self):
        PROJECT_PATH = self.ids.ProjectName.text 
        #will print PROJECT_PATH fine within test /class function
class TrainNew2(Screen):

    print(PROJECT_PATH) # will not print
 

Я не уверен, как заставить его печатать в новом классе.

Ответ №1:

Что вам нужно, так это global переменные. Вы знали о прицелах? Короче говоря, глобальная переменная-это тип переменной, к которой можно получить доступ/изменить из любого места файла кода. Вот пример :

 PROJECT_PATH = ""

class TrainNew1(Screen):
    global PROJECT_PATH # this is required to modify the original PROJECT_PATH
    #takes user input,i click a button to submit, runs this function.
    def test(self):
        PROJECT_PATH = self.ids.ProjectName.text 
        #will print PROJECT_PATH fine within test /class function
class TrainNew2(Screen):
    global PROJECT_PATH # this is used to access PROJECT_PATH 
    print(PROJECT_PATH) # Now, It can be used/modified even inside in this class 
 

Комментарии:

1. Здравствуйте, мистер Хушал Джангид. Большое вам СПАСИБО, что нашли время ответить на мой вопрос. Вы мне очень помогли! я опытный(зрелый) программист, но я все еще изучаю синтаксис python, я не понимал, что вы можете это сделать. еще больше причин любить python! спасибо, сэр.

2. Это было для меня удовольствием, сэр 🙂

3. Эй, @Chandradeobalram, пожалуйста, примите это как решение !