Python 我一直得到TypeError:Template()不接受任何参数
我正在尝试创建一个下拉菜单,它返回一个字符串,我可以将该字符串用于if语句。 我只想创建标签,这样我就可以直观地看到所选选项的价值,我希望有人能够提供帮助 为模板创建类Python 我一直得到TypeError:Template()不接受任何参数,python,python-3.x,list,Python,Python 3.x,List,我正在尝试创建一个下拉菜单,它返回一个字符串,我可以将该字符串用于if语句。 我只想创建标签,这样我就可以直观地看到所选选项的价值,我希望有人能够提供帮助 为模板创建类 class Template: def _init_(self,version): self.version = version templateList.append(self) templateVersion.append(version) def selectVersion(): f
class Template:
def _init_(self,version):
self.version = version
templateList.append(self)
templateVersion.append(version)
def selectVersion():
for s in templateList:
if s.version == selectedVersion.get():
version.set(s.version)
templateList = []
templateVersion = []
Template("x1", "x1")
Template("x2", "x2")
Template("x3", "x3")
Template("x4", "x4")
Template("x5", "x5")
Template("x6", "x6")
Template("x7", "x7")
Template("c300", "c300")
Template("c400", "c400")
Template("c500", "c500")
Template("c600", "c600")
Template("c700", "c700")
Template("c800", "c800")
创建选项菜单
selectedVersion = tk.StringVar()
selectedVersion.set(templateVersion[0])
#Template Menu
templateMenu = OptionMenu(frameTemp, selectedVersion, *templateVersion)
templateMenu.pack()
selectBtn = tk.Button(frameTemp, text = "Select", command = selectVersion)
selectBtn.pack()
version = tk.StringVar()
#label
tempLbl = Label(frameTemp, textvariable = version)
tempLbl.pack()
win.mainloop()
回溯(最近一次呼叫最后一次):
文件“c:\Users\User\.vscode\extensions\ms python.python-2020.1.58038\pythonFiles\ptvsd_launcher.py”,第43行,在
干管(ptvsdArgs)
文件“c:\Users\User\.vscode\extensions\ms python.python-2020.1.58038\pythonFiles\lib\python\old\u ptvsd\ptvsd\\uuuuu main\uuuu.py”,第432行,在main中
运行()
文件“c:\Users\User\.vscode\extensions\ms python.python-2020.1.58038\pythonFiles\lib\python\old\u ptvsd\ptvsd\\uuuuu main\uuuu.py”,第316行,在运行文件中
runpy.run\u路径(目标,run\u名称=“”\uu主\uuuuuuuuuuuu')
文件“C:\Python38\lib\runpy.py”,第263行,在运行路径中
返回运行模块代码(代码、初始化全局、运行名称、,
文件“C:\Python38\lib\runpy.py”,第96行,在运行模块代码中
_运行代码(代码、mod_globals、init_globals、,
文件“C:\Python38\lib\runpy.py”,第86行,在运行代码中
exec(代码、运行\全局)
文件“c:\Users\User\Desktop\dropdown.py”,第38行,在
模板(“x1”、“x1”)
TypeError:Template()不接受任何参数
您将\uuuuu init\uuuuuu
拼错为\uuu init\uuuu
。结果,模板。\uuuuu init\uuuuuuuuuuu>解析为对象。\uuuuuuu init\uuuuuuuuuuu
,这确实不带任何参数。感谢您的帮助Chepner,我很感激它看起来像只需要一个参数。您提供了2.模板版本为什么在类外的和模板列表上?这没有多大意义。同样,如果所有模板都只是一个字符串,为什么不存储一个字符串列表呢?您将\uuuuuu init\uuuuu
拼错为\uu init\uuuu
。因此,模板。\uuuuuu init\uuuu
解析为对象。\uuu inity参数。感谢您对切普纳的帮助,我很感激它让我觉得它实际上只需要一个参数。您提供了2。为什么templateVersion
和templateList
在类外?这没有多大意义。而且,如果所有模板都只是一个字符串,为什么不存储一个字符串列表呢?
Traceback (most recent call last):
File "c:\Users\User\.vscode\extensions\ms-python.python-2020.1.58038\pythonFiles\ptvsd_launcher.py", line 43, in <module>
main(ptvsdArgs)
File "c:\Users\User\.vscode\extensions\ms-python.python-2020.1.58038\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 432, in main
run()
File "c:\Users\User\.vscode\extensions\ms-python.python-2020.1.58038\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 316, in run_file
runpy.run_path(target, run_name='__main__')
File "C:\Python38\lib\runpy.py", line 263, in run_path
return _run_module_code(code, init_globals, run_name,
File "C:\Python38\lib\runpy.py", line 96, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "C:\Python38\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "c:\Users\User\Desktop\dropdown.py", line 38, in <module>
Template("x1", "x1")
TypeError: Template() takes no arguments