0

我一直在寻找一种在 Python 3 中通过 Tkinter GUI 在本地设置 cookie 的方法,并且只获得 httplib2 结果,但这是行不通的。

本质上,我有一个简单的登录 UI,它将制作一个 SimpleCookie:

def signIn(self):
    user = self.login_var.get()
    passwd = self.password_var.get()
    C = cookies.SimpleCookie()
    C['user'] = user
    C['passwd'] = passwd
    print(C.output(attrs=[], header='Cookie:'))
    self.confirm()

...但是我无法检索/将 cookie 传递给下一个命令:

def confirm(self):
    self.top = Toplevel()
    self.top.title('Congrats!')
    self.top_frame = Frame(self.top)
    self.top_frame.grid()
    self.lbl = Label(self.top_frame, text='Hello ' + C['user'].value + '!')
    self.lbl.grid()

我确定我错过了一些东西(很多东西?),因为我是 Python 的超级新手>.<

4

1 回答 1

1

您可以添加一个参数来确认这样

def confirm(self, C)

然后调用它

self.confirm(C)

在 python 中,变量可以是任何对象、文字(int、byte 等)甚至函数。

此外,您可以将变量 C 更改为正在使用的类范围变量

self.C = cookies.SimpleCookie() # Prefixing self. attributes with an underscore _ is  commonly
                                # used to declare a soft private variable. 
                                # Other classes and modules can still access it but it generally 
                                # means it is not supposed to be accessed from outside the class.

现在,您可以通过以下方式在班级内解决 C:

self.C

并从课外通过:

ClassName.C
于 2013-02-20T01:08:20.880 回答