【问题标题】:NameError: name 'name' is not defined in tkinter?NameError:名称“名称”未在 tkinter 中定义?
【发布时间】:2020-04-20 13:18:16
【问题描述】:

您好,我正在学习 tkinter,运行此程序时无法解决此问题。 将 tkinter 导入为 tk 从 tkinter 导入 * ''' master = tk.Tk()

class App():

def __init__(self, master):
    self.pocetnik_label = Label(master, text = 'Pocetnik')
    self.pocetnik_label.pack(side = LEFT)

    self.dodaj_button = Button(master, text = '+', command = pocetnik(self))
    self.dodaj_button.pack(side = RIGHT)

def pocetnik(self):
    master.widnows = tk.Toplevel(master)
    self.ime_label = Label(pocetnik, text = 'Ime').grid(row = 0, column = 0)
    self.ime_entry = Entry(pocetnik, bd = 5).grid(row = 0, column = 1)

pocetnik = App(master) 
master.mainloop()

当我运行它时,我得到这个错误: NameError: name 'pocetnik' 未定义

【问题讨论】:

  • pocetnikself. pocetnik 是两个不同的东西。

标签: tkinter


【解决方案1】:
from tkinter import *
from tkinter import ttk
import tkinter as tk
class App(ttk.Frame):

  def __init__(self, master):
      self.newwindow=master
      self.pocetnik_label = Label(master, text = 'Pocetnik')
      self.pocetnik_label.pack(side = LEFT)

      self.dodaj_button = Button(master, text = '+', command =self.pocetnik)
      self.dodaj_button.pack(side = RIGHT)
      self.newwindow.mainloop()

  def pocetnik(self):
      b2= tk.Toplevel(self.newwindow)
      self.ime_label = Label(b2, text = 'Ime').grid(row = 0, column = 0)
      self.ime_entry = Entry(b2, bd = 5).grid(row = 0, column = 1)

master=Tk()
pocetnik = App(master)

立即测试

【讨论】:

    猜你喜欢
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多