【问题标题】:Why does my tkinter code with multiple frames not even run为什么我的多帧 tkinter 代码甚至无法运行
【发布时间】:2019-08-06 00:34:17
【问题描述】:

我的代码在我每次尝试打开它时都不会运行,所以我认为框架已经搞砸了。这是为什么呢?

我在网上遵循了很多指南,他们有类似的代码,但我的代码仍然混乱。

import tkinter as tk       

LABEL_FONT = ('Helvetica', 10)

class OwlEyes(tk.Tk):
    def __init__(self, arg1, arg2):
        tk.Tk.__init__(self, arg1, arg2)
        self.frames = {}

        container = tk.Frame(self, bg = 'black')            
        container.pack(side = "top", fill = "both", expand = True) 
        container.grid_columnconfigure(0, weight = 1)
        container.grid_rowconfigure(0, weight = 1)

        frame = LoginPage(container, self)
        self.frames[LoginPage] = frame

        frame.grid(row = 0, column = 0, sticky = "nsew")

        self.show_frame(LoginPage)

    def show_frame(self, cont):
        frame = self.frames[cont]
        frame.tkraise()
class LoginPage(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)
        labelUser = tk.Label(self, text = "Username:", font = LABEL_FONT, bg = 'black', fg = '#15F4EE')             
        labelUser.pack(pady = 10, padx = 10)    
        button1 = tk.Button(self, text='Back to Home')
        button1.pack()


root = OwlEyes()
root.mainloop()

我希望我的代码只弹出登录页面,显示一些文本,但什至什么都没有弹出。

【问题讨论】:

  • 你是在console/terminal/cmd.exe中运行它来查看错误信息吗?
  • 我查过了。它给出了错误信息。

标签: python tkinter


【解决方案1】:

您收到错误消息。

你有变量arg1arg2

class OwlEyes(tk.Tk):
    def __init__(self, arg1, arg2):
        tk.Tk.__init__(self, arg1, arg2)

但你运行时没有价值

root = OwlEyes()

如果你删除arg1arg2,那么它就会开始

class OwlEyes(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多