Python 使用tkinter时出现语法错误

Python 使用tkinter时出现语法错误,python,user-interface,tkinter,Python,User Interface,Tkinter,我已经在代码的开头导入了tkinter,下面是我在GUI末尾的内容。在我为“strengthSkill”编写代码之前,GUI运行和按钮显示都很好,现在我在这一行的开头遇到了一个sytax错误: mlabel=Label(text='Battle!!').place(x=50,y=130) 它突出显示“mlabel”作为错误,但我已经查看了,看不出问题出在哪里。我已经创建了第二个版本,其中Tkinter的所有内容都被剥离了,并且一切都很好 mGui = Tk() ment = dicein

我已经在代码的开头导入了tkinter,下面是我在GUI末尾的内容。在我为“strengthSkill”编写代码之前,GUI运行和按钮显示都很好,现在我在这一行的开头遇到了一个sytax错误:

mlabel=Label(text='Battle!!').place(x=50,y=130)
它突出显示“mlabel”作为错误,但我已经查看了,看不出问题出在哪里。我已经创建了第二个版本,其中Tkinter的所有内容都被剥离了,并且一切都很好

mGui = Tk()
   ment = diceint()


   mGui.geometry('400x400')
   mGui.configure(bg="purple")
   mGui.title('Miss Watts Dice Games')


   mlabel=Label(text='4,6,12 sided dice roller').place(x=50,y=50)
   mbutton=Button(mGui,text="Go",command=diceroll).place(x=250,y=50)
   mentry=Entry(mGui,variable=ment).pack()

   mlabel=Label(text='Strength and skill calculator').place(x=50,y=90)
   mbutton=Button(mGui,text="Go",command=strengthSkill.place(x=250,y=90)

   mlabel=Label(text='Battle!!').place(x=50,y=130)
   mbutton=Button(mGui,text="Go",command=battle.place(x=250,y=130)


   mbutton=Button(mGui,text="Exit",command=close).place (x=50,y=250)

   mlabel=Label(text='\N{COPYRIGHT SIGN} Dru Watts 2014').place(x=50,y=300)

   mGui.mainloop()
不幸的是,我无法发布代码的主要部分,因为我正在创建一个示例,向我的学生展示他们需要完成的受控评估课程,我希望他们没有发现这一点


请温柔一点,这对特金特来说是个新鲜事。担心我可能把教程弄混了一点

此处缺少一个右括号:

mbutton=Button(mGui,text="Go",command=strengthSkill).place(x=250,y=90)
                                                   ^
在这里:

mbutton=Button(mGui,text="Go",command=battle).place(x=250,y=130)
                                            ^

此外,由于每个Tkinter小部件的
place
pack
方法都可以正常工作,
mbutton
mlabel
等都将被分配到
None
。因此,如果计划稍后使用这些变量,则需要在它们自己的行上调用这些方法:

mlabel=Label(text='4,6,12 sided dice roller')
mlabel.place(x=50,y=50)
否则,我建议完全删除这些变量,因为它们是不必要的:

Label(text='4,6,12 sided dice roller').place(x=50,y=50)
Button(mGui,text="Go",command=diceroll).place(x=250,y=50)
Entry(mGui,variable=ment).pack()

我强烈建议使用一个编辑器,自动配对括号、括号等,并在缺少括号时突出显示。这样可以避免很多类似的错误。@MattDMo我同意,我一直在考虑在使用OSX时使用不同的编辑器,但由于某种原因,python编辑器没有显示我的光标,这太令人恼火了!你能为OSX推荐一些东西吗?很多程序员都很喜欢。尽管它在技术上处于“测试版”,但我还是建议使用第3版而不是第2版,因为API在很多地方都得到了改进,很多人都利用了它。如果您有问题,上面有几个与
[sublimitext]
相关的标签。@MattDMo会试一试-谢谢:)与所问问题无关,但这里有一些有用的建议:使用
网格
而不是
放置
,并将小部件创建和小部件布局放在两个单独的语句中(即:不要做
标签(…)。放置(…)
).Stackoverflow被那些基本反模式的问题弄得乱七八糟。太棒了,那个问题解决了。真不敢相信我错过了!它以前工作过,所以我一定是无意中删除了它。谢谢。我还将查看位置并删除变量。还没有完成,所以不确定是否需要它们。谢谢:)