Python:从另一个类调用字符串

Python:从另一个类调用字符串,python,mysql,tkinter,Python,Mysql,Tkinter,我正在用Python2.7中的Tkinter编写一个GUI,希望在另一个类中使用用户名变量。这是我第一次做OOP,所以我一点都不擅长。感谢所有的帮助 下面是完整代码的一部分 class LoginWindow(Frame): def logged(self): username = self.entry_username.get() password = self.entry_password.get() class MainWindow(Frame)

我正在用Python2.7中的Tkinter编写一个GUI,希望在另一个类中使用用户名变量。这是我第一次做OOP,所以我一点都不擅长。感谢所有的帮助

下面是完整代码的一部分

class LoginWindow(Frame):
    def logged(self):
        username = self.entry_username.get()
        password = self.entry_password.get()


class MainWindow(Frame):
    def saveValues(self):
        # I WANT THE USERNAME VARIABLE HERE #

您可以在所有类之外将用户名和密码定义为全局变量,然后在您想要的任何类中直接使用它们

现在,对于您的代码,您也可以尝试以下方法:

class LoginWindow():
    def __init__(self):
        self.username = self.entry_username.get()
        self.password = self.entry_password.get()


class MainWindow():
    def saveValues(self):
        obj = LoginWindow()
        # Access the object's variables here
        print(obj.username, obj.password)
        return "Done..."

print(MainWindow().saveValues())
这会打印出来

("whatever_username", "password")
Done...

欢迎来到SO。你能更详细地描述一下你的问题吗?到目前为止,您尝试了什么来获取username变量?谢谢。完全不相关,但你的应用程序对SQL注入开放。不要从不受信任的未初始化值手动构建SQL查询,而是学习正确使用db api,cf感谢CKE,对于问题中的少量信息,我很抱歉。。我尝试在init函数中设置变量,以便稍后使用loginW=LoginWindow()在另一个类中“调用”(?)该类,并将其用作loginW.username,但我遇到了一个错误。感谢headsup Bruno,非常感谢!但这段代码应该可以在VPN网络上使用,对吗?@simonjansson:如果你使用类,几乎没有理由使用全局变量。是否可以将类a中的变量设置为全局变量,然后在类B中使用?因为这种方式似乎对我不起作用…@simonjansson我已经按照你的代码更新了我的答案。试试这个。谢谢Harshita,现在我对如何使用变量有了更好的理解,但不幸的是我遇到了一个错误。“Tkinter回调回溯中的异常(最后一次调用):文件“/usr/lib/python2.7/lib tk/Tkinter.py”,第1544行,在调用返回self.func(*args)文件“script.py”的第188行,在saveValues obj=LoginWindow()文件“script.py”的第23行,在init self.init_window()文件“script.py”中,第28行,在init_窗口self.master.title(“FairIT Login”)AttributeError中:“非类型”对象没有属性“title”