Python Tkinter-小部件错误-TclError:期望的整数,但为“ New”

时间:2019-11-09 18:31:54

标签: python tkinter

我正在遵循基本的Tkinter教程,我已经非常准确地遵循了它,但是也使用了我对Tkinter的最低了解。但是,每次运行它时,似乎都会出现错误,但仅限于小部件。

错误消息是:

self.tk.call(_tkinter.TclError: expected integer but got "New"

根据错误消息,这是我将Label(head)分配给lbl_logo on line 46的时候。

在大学期间,我必须遵循该教程,这就是为什么可以减少其中一些内容的原因,即:使用.config

# Libraries
from tkinter import *



# generates password
class password_generator:


    def __init__(self):
        pass



# Window
class window():


    def __init__(self):

        # initial setup
        self.title('Safe G - The Password Generator')
        self.geometry('1600x900+100+100') # width (w), height (h), x-start-position (x), y-start-position (y)
        self.configure(bg='gray20')
        self.iconbitmap('safeg_icon.ico')

        # initial defaults
        self.option_add('*Font', 'Courier New')
        self.option_add('*Background', 'gray20')
        self.option_add('*Label.Font', 'Courier New')

        # constructs header
        head = Frame(self, highlightthickness=5, highlightbackground='tomato2')
        head.pack(fill='both', expand=True)

        # HEADER - logo
        img = PhotoImage(file='file.gif') # isn't actually called file.gif, but is a .gif file
        lbl_logo = Label(head)
        lbl_logo.config(image = img)
        lbl_logo.image = img
        lbl_logo.pack(side=LEFT, padx=10, pady=10)

        # HEADER - title
        lbl_title = Label(head)
        lbl_title.config(text='Safe G - The Password Generator', font=('Courier New 20'))
        lbl_title.pack(side=LEFT, padx=10, pady=10)

        # constructs main body
        body = Frame(self, highlightthickness=5, highlightbackground='orange2')
        body.pack(fill='both', expand=True)

        # constructs footer
        foot = Frame(self, highlightthickness=5, highlightbackground='gold')
        foot.pack(fill='both', expand=True)


# Initalises program
if __name__ == '__main__':
    win = Tk()
    window.__init__(win)
    win.mainloop()

如果我注释掉对标签的所有引用,这似乎是可行的,而且如果我在函数之外进行操作,则图像有时也可以工作。

0 个答案:

没有答案