2017-09-09 93 views
-1

我目前工作的一個程序,讓您註冊一個帳號,並通過寫細節的txt文件,並再次讀取它們重新登錄,一切工作正常,直到我說這個:'function'對象沒有屬性'tk'是什麼意思?

def login(): 
    fh = open("usernamepassword.txt", "r") 
    lines = fh.readlines() 
    fh.close() 
    username=(lines[0]) 
    fname=(lines[2]) 
    lname=(lines[3]) 

這部分還沒有完成,但每當我運行該腳本沒有這個三重報價,我得到這個錯誤:

Traceback (most recent call last): 
    File "C:\Users\Robbie\Documents\Python\Signup - Login.py", line 274, in <module> 
    b2=Button(login, text="Don't have an account? Make one here!", command=signupswitch) 
    File "C:\Users\Robbie\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 2209, in __init__ 
    Widget.__init__(self, master, 'button', cnf, kw) 
    File "C:\Users\Robbie\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 2132, in __init__ 
    BaseWidget._setup(self, master, cnf) 
    File "C:\Users\Robbie\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 2110, in _setup 
    self.tk = master.tk 
AttributeError: 'function' object has no attribute 'tk' 

正如你可以在上面看到,變量「B2」是沒有關係的上面的部分是什麼,所以永遠。我看過tkinter的init文件,但是,因爲我是python的初學者,所以我沒有找到任何東西。我在網上搜索了幾個小時來解決這個問題,但我找不到任何!我真的需要這個問題的答案,因爲這對我的GCSE計算機科學。

+1

如果您的代碼在創建Button時崩潰,則應該閱讀[關於按鈕的tkinter文檔](http://effbot.org/tkinterbook/button.htm#reference)。而不是花幾個小時的時間進行搜索,你只需要20秒就可以認識到'login'函數不是一個有效的'master'小部件。 –

回答

1

你堵功能login爲您的按鈕父窗口部件:

b2=Button(login, text="Don't have an account? Make one here!", command=signupswitch) 

通過你的根小部件或任何父窗口部件是更換login

相關問題