import Tkinter
class Application(Frame):
def __init__(self, master):
Frame.__init__(self,master)
self.grid()
self.CreateWidgets()
def CreateWidgets(self):
self.LoginButton = Button(Self)
self.LoginButton["text"] = "Login"
self.LoginButton.grid()
self.QUIT_Button = Button(self)
self.QUIT_Button["text"] = "Quit"
self.QUIT_Button["command"] = self.quit
self.QUIT_Button["fg"] = "red"
root = Tk()
root.title("Login")
root.geometry("500x500")
app = Application(root)
root.mainloop()
これは私がフォローしているYouTubeチュートリアルです:https://www.youtube.com/watch?v = YCLTv6wh3jE&index = 39&list = PLB0701884E5AE1B45
そして、これは発生し続けるエラーです:
Traceback (most recent call last):
File "C:\Users\omer\Desktop\test.py", line 3, in <module>
class Application(Frame):
NameError: name 'Frame' is not defined
私はPythonの完全な初心者であり、まだ学習中なので、助けていただければ幸いです。
Frame
Tk
、およびButton
はすべてTkinter
名前空間にあります。したがって、Pythonにそれらがどこにあるかを知らせるためにそれらを修飾する必要があります1:
import Tkinter
class Application(Tkinter.Frame):
...
Tkinter.Frame.__init__(self, master)
...
self.LoginButton = Tkinter.Button(self)
...
self.QUIT_Button = Tkinter.Button(self)
...
root = Tkinter.Tk()
または、名前を直接インポートすることもできます。
from Tkinter import Frame, Tk, Button
1この最初のソリューションを使用する場合は、次のTkinter
ようにインポートするのがおそらく最善です。
import Tkinter as tk
そうすれば、コードは次のようになります。
import Tkinter as tk
class Application(Tkinter.Frame):
...
tk.Frame.__init__(self, master)
...
self.LoginButton = tk.Button(self)
...
self.QUIT_Button = tk.Button(self)
...
root = tk.Tk()
これはもっと簡単です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加