gpt4 book ai didi

python - tkinter sticky=N+W 错误 : global name 'N' is not defined

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:02 26 4
gpt4 key购买 nike

我正在制作一个 tkinter GUI,但我不明白为什么会显示此错误。另外,我在理解初始化框架时遇到了麻烦。这可能与错误有关吗?我对 Python 还是个新手,需要更多地了解它的工作原理。对不起,如果错误是基本的,我心里很不安。您的帮助将不胜感激。这是代码:

import Tkinter as tk
import string

class QueryInterface(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
self.frame = tk.Frame(self.master)
self.master.geometry("400x300+400+200")
self.master.title("Thug Client-Side Honeypot")
self.master.resizable(width = False, height = False)

self.inputLabel = tk.Label(self, text = "Input arguments and URL:", font = "Calibri 11")
self.inputLabel.grid(row = 1, column = 0, columnspan = 2, padx = 5, packy = 10, sticky = N+W)

self.frame.pack()

def main():
root = tk.Tk()
app = QueryInterface(root)
app.mainloop()

if __name__ == '__main__':
main()

这是回溯:

Traceback (most recent call last):
File "QueryInterface.py", line 71, in <module>
main()
File "QueryInterface.py", line 67, in main
app = QueryInterface(root)
File "QueryInterface.py", line 17, in __init__
self.inputLabel.grid(row = 1, column = 0, columnspan = 2, padx = 5, packy = 10, sticky = N+W)
NameError: global name 'N' is not defined

最佳答案

如错误所述,问题是您正在引用 undefined variable N(以及 W)。

这些是在 Tkinter 中定义的变量,因此您可以执行 tk.N 和 tk.W,或者只使用这些变量定义的字符串,例如:

 self.inputLabel.grid(row = 1, column = 0, columnspan = 2, padx = 5, pady = 10, sticky = 'nw')

还有一些其他问题阻止了代码运行。您在已经从 Frame 继承的 QueryInterface 中创建了一个单独的成员 Frame,并将其打包。

此代码运行。

import Tkinter as tk

class QueryInterface(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
self.master.geometry("400x300+400+200")
self.master.title("Thug Client-Side Honeypot")
self.master.resizable(width = False, height = False)
self.inputLabel = tk.Label(self, text = "Input arguments and URL:", font = "Calibri 11")
self.inputLabel.grid(row = 1, column = 0, columnspan = 2, padx = 5, pady = 10, sticky = 'nw')
self.pack()

def main():
root = tk.Tk()
app = QueryInterface(root)
app.mainloop()

if __name__ == '__main__':
main()

关于python - tkinter sticky=N+W 错误 : global name 'N' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37643258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com