簡體   English   中英

'按鈕'對象沒有屬性'毀滅'?

[英]'Button' object has no attribute 'destroy'?

我正在嘗試編寫更新葯物數據庫的程序。 我正在嘗試顯示一個不錯的顯示器,但是由於我是pyhton的新生,所以遇到了一些麻煩。

編輯:我要在這里輸入我的“添加毒品窗口”中的信息,然后單擊“確定”按鈕,關閉窗口,然后將該信息添加到我的txt文檔中。 結束部分在這里不起作用。

這是我的錯誤信息:

File "C:\Users\arty\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "testw.py", line 48, in ok
self.destroy()
AttributeError: 'Buttons1' object has no attribute 'destroy'

這是我的代碼:

from tkinter import *


class Buttons:

    def __init__(self, master):
        self.master = master
        self.frame = Frame(self.master)
        self.b1 = Button(self.master, text="Add a New Drug", 
        command=self.Add_Drug_Window)
        self.b1.grid()
        self.frame.grid()

    def Add_Drug_Window(self):            
        #self.master.withdraw()
        self.AddDrugWindow = Toplevel(self.master)
        self.okbutton = Buttons1(self.AddDrugWindow)


        #Create widget as this, simple to read.
        Label(self.AddDrugWindow, text="Drug name").grid(row=0)
        Label(self.AddDrugWindow, text="Url :").grid(row=1)
        self.newdrugnameEntry = Entry(self.AddDrugWindow)
        self.newurlEntry = Entry(self.AddDrugWindow)
        self.newdrugnameEntry.grid(row=0, column=1)
        self.newurlEntry.grid(row=1, column=1)
        global newdrugname
        global newurl
        newdrugname = self.newdrugnameEntry.get()
        newurl= self.newurlEntry.get()

class Buttons1:     

    def __init__(self, master): #self, master
        self.master = master
        self.frame = Frame(self.master)
        self.bok = Button(self.master, text="ok", command=self.ok)
        self.bok.grid(row=3, column=0)
        self.frame.grid()

    def ok(self):
        with open('lorem_ipsum.txt', 'a') as f:
            f.write( '\n' + newdrugname + ':' + newurl)   
        self.destroy()
        master.deiconify()  



if __name__ == '__main__':
fenetreroot = Tk()
b = Buttons(fenetreroot)
fenetreroot.mainloop()

我花了幾天的時間來解決這個問題,但是沒有成功。

也許您正在尋找self.master.destroy():

from tkinter import *


class Buttons:

    def __init__(self, master):
        self.master = master
        self.frame = Frame(self.master)
        self.b1 = Button(self.master, text="Add a New Drug", 
        command=self.Add_Drug_Window)
        self.b1.grid()
        self.frame.grid()

    def Add_Drug_Window(self):            
        #self.master.withdraw()
        self.AddDrugWindow = Toplevel(self.master)
        self.okbutton = Buttons1(self.AddDrugWindow)


        #Create widget as this, simple to read.
        Label(self.AddDrugWindow, text="Drug name").grid(row=0)
        Label(self.AddDrugWindow, text="Url :").grid(row=1)
        self.newdrugnameEntry = Entry(self.AddDrugWindow)
        self.newurlEntry = Entry(self.AddDrugWindow)
        self.newdrugnameEntry.grid(row=0, column=1)
        self.newurlEntry.grid(row=1, column=1)
        global newdrugname
        global newurl
        newdrugname = self.newdrugnameEntry.get()
        newurl= self.newurlEntry.get()

class Buttons1:     

    def __init__(self, master): #self, master
        self.master = master
        self.frame = Frame(self.master)
        self.bok = Button(self.master, text="ok", command=self.ok)
        self.bok.grid(row=3, column=0)
        self.frame.grid()

    def ok(self):
        with open('lorem_ipsum.txt', 'a') as f:
            f.write( '\n' + newdrugname + ':' + newurl)   
        self.master.destroy()
        master.deiconify()  



if __name__ == '__main__':
fenetreroot = Tk()
b = Buttons(fenetreroot)
fenetreroot.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM