NameError: name 'root' is not defined in python 3
NameError: name 'root' is not defined in python 3
下面是我正在尝试的程序运行
from tkinter import *
import tkinter as tk
from tkinter.ttk import *
from tkinter import LabelFrame, Label, Tk#, Canvas
from tkinter.ttk import Notebook
import tkinter.messagebox
import time
import os
import warnings
warnings.filterwarnings('ignore')
class GUIDesign():
def __init__(self,root):
self.initUI(root)
def initUI(self,root):
print ("hello")
LabelFrameFG="purple"
LabelFrameBG="SNOW"
note = Notebook(root)
tab1 = Frame(note)
tab6 = Frame(note)
def main():
root = Tk()
root.resizable(0,0)
root.state('zoomed')
GUI=GUIDesign(root)
root.mainloop()
if __name__ == '__main__':
main()
它给出错误:
Traceback (most recent call last):
File "E:\Python\tk.py", line 16, in <module>
class GUIDesign():
File "E:\Python\tk.py", line 35, in GUIDesign
note = Notebook(root)
NameError: name 'root' is not defined
问题出在导入笔记本上?或者 class 及其功能?或者python的版本问题?谁能告诉我这个程序有什么问题吗?
您应该将root 定义为全局变量。你的代码应该是这样的。
from tkinter import *
import tkinter as tk
from tkinter.ttk import *
from tkinter import LabelFrame, Label, Tk#, Canvas
from tkinter.ttk import Notebook
import tkinter.messagebox
import time
import os
import warnings
warnings.filterwarnings('ignore')
root = Tk()
class GUIDesign():
def __init__(self,root):
self.initUI(root)
def initUI(self,root):
print ("hello")
LabelFrameFG="purple"
LabelFrameBG="SNOW"
note = Notebook(root)
tab1 = Frame(note)
tab6 = Frame(note)
def main():
root = Tk()
root.resizable(0,0)
root.state('zoomed')
GUI=GUIDesign(root)
root.mainloop()
if __name__ == '__main__':
main()
下面是我正在尝试的程序运行
from tkinter import *
import tkinter as tk
from tkinter.ttk import *
from tkinter import LabelFrame, Label, Tk#, Canvas
from tkinter.ttk import Notebook
import tkinter.messagebox
import time
import os
import warnings
warnings.filterwarnings('ignore')
class GUIDesign():
def __init__(self,root):
self.initUI(root)
def initUI(self,root):
print ("hello")
LabelFrameFG="purple"
LabelFrameBG="SNOW"
note = Notebook(root)
tab1 = Frame(note)
tab6 = Frame(note)
def main():
root = Tk()
root.resizable(0,0)
root.state('zoomed')
GUI=GUIDesign(root)
root.mainloop()
if __name__ == '__main__':
main()
它给出错误:
Traceback (most recent call last):
File "E:\Python\tk.py", line 16, in <module>
class GUIDesign():
File "E:\Python\tk.py", line 35, in GUIDesign
note = Notebook(root)
NameError: name 'root' is not defined
问题出在导入笔记本上?或者 class 及其功能?或者python的版本问题?谁能告诉我这个程序有什么问题吗?
您应该将root 定义为全局变量。你的代码应该是这样的。
from tkinter import *
import tkinter as tk
from tkinter.ttk import *
from tkinter import LabelFrame, Label, Tk#, Canvas
from tkinter.ttk import Notebook
import tkinter.messagebox
import time
import os
import warnings
warnings.filterwarnings('ignore')
root = Tk()
class GUIDesign():
def __init__(self,root):
self.initUI(root)
def initUI(self,root):
print ("hello")
LabelFrameFG="purple"
LabelFrameBG="SNOW"
note = Notebook(root)
tab1 = Frame(note)
tab6 = Frame(note)
def main():
root = Tk()
root.resizable(0,0)
root.state('zoomed')
GUI=GUIDesign(root)
root.mainloop()
if __name__ == '__main__':
main()