Python 创建数字猜谜游戏的重置按钮

Python 创建数字猜谜游戏的重置按钮,python,tkinter,Python,Tkinter,我正在为Python教程制作一个数字猜测游戏。我是Python新手,使用Python Shell和2.7.5版。除此之外,我已经完成了所有的功能 我必须做一个重置按钮,这让我的脑子乱七八糟。我不知道如何定义它 self.reset_bttn = Button(self, text = "Starta om", command=reset) self.reset_bttn.grid(row = 6, column = 1, sticky = W) def reset():

我正在为Python教程制作一个数字猜测游戏。我是Python新手,使用Python Shell和2.7.5版。除此之外,我已经完成了所有的功能

我必须做一个重置按钮,这让我的脑子乱七八糟。我不知道如何定义它

self.reset_bttn = Button(self, text = "Starta om", command=reset)
        self.reset_bttn.grid(row = 6, column = 1, sticky = W)

def reset():
        global
这是带有一些标签的代码的开头

from Tkinter import *
import random
number = random.randrange (100) + 1
tries = 0
class Application(Frame):

    def __init__(self, master):

        Frame.__init__(self, master)
        self.grid()
        self.create_widgets()


    def create_widgets(self):

        self.inst_lbl = Label(self, text = "Följ alla stegen")
        self.inst_lbl.grid(row = 0, column = 0, columnspan = 2, sticky = W)

        self.name_lbl = Label(self, text = "Spelarens namn: ")
        self.name_lbl.grid(row = 1, column = 0, sticky = W)

        self.name_ent = Entry(self)
        self.name_ent.grid(row = 1, column = 1, sticky = W)

        self.guess_lbl = Label(self, text = "Skriv in din gissning.")
        self.guess_lbl.grid(row = 2, column = 0, sticky = W)

        self.guess_ent = Entry(self)
        self.guess_ent.grid(row = 2, column = 1, sticky = W)

        self.gap1_lbl = Label(self, text = " ")
        self.gap1_lbl.grid(row = 3, column = 0, sticky = W)

您可能希望将以下内容添加到应用程序类中:

class Application(Frame):
    # ... all the stuff you've copied in your question
    def create_widgets(self):
        # ... all the stuff again
        self.reset_bttn = Button(self, text = "Starta om", command=self.reset)

    def reset(self):
        self.name_ent.delete(0, tk.END)
        self.guess_ent.delete(0, tk.END)
        # ... more stuff to be reset here
我没有测试这个,也从来没有做过
tkinter
(至少在我记忆中是这样),但我只是读了一下!;-)

.delete(first,last=None) 从小部件中删除字符,从第一个索引处的字符开始,直到但不包括最后一个位置处的字符。如果省略第二个参数,则仅删除第一个位置的单个字符

以及:

小部件显示文本中的位置作为索引给出。有几种方法可以指定索引:

  • 作为普通Python索引,从0开始
  • 常量tk.END指现有文本后面的位置
哦,我觉得有必要补充一点,你永远不要使用globals。没有充分的理由或情况使用它们。除非你想制作一个难看的代码,很难阅读和维护


您应该将这些全局变量作为成员推送到类中。

您可能希望将以下内容添加到应用程序类中:

class Application(Frame):
    # ... all the stuff you've copied in your question
    def create_widgets(self):
        # ... all the stuff again
        self.reset_bttn = Button(self, text = "Starta om", command=self.reset)

    def reset(self):
        self.name_ent.delete(0, tk.END)
        self.guess_ent.delete(0, tk.END)
        # ... more stuff to be reset here
我没有测试这个,也从来没有做过
tkinter
(至少在我记忆中是这样),但我只是读了一下!;-)

.delete(first,last=None) 从小部件中删除字符,从第一个索引处的字符开始,直到但不包括最后一个位置处的字符。如果省略第二个参数,则仅删除第一个位置的单个字符

以及:

小部件显示文本中的位置作为索引给出。有几种方法可以指定索引:

  • 作为普通Python索引,从0开始
  • 常量tk.END指现有文本后面的位置
哦,我觉得有必要补充一点,你永远不要使用globals。没有充分的理由或情况使用它们。除非你想制作一个难看的代码,很难阅读和维护

您应该将这些全局变量作为成员推送到类中。

  • 已将全局变量移动到实例属性。(
    编号
    尝试
  • 通过调用重置文本项。删除(0,结束)

  • 已将全局变量移动到实例属性。(
    编号
    尝试
  • 通过调用重置文本项。删除(0,结束)


塔克斯!但如果我想删除更多标签,我该怎么办?我希望重置按钮重置窗口中可见的所有参数。下面是在guess btn
def leave(self)上使用的REVEL语句:全局尝试name=self.name\u ent.get()guess=self.guess\u ent.get()如果int(guess)>int(number):result\u msg=“Tyvärr detär lägre!!”如果int(guess)
code`如果没有描述,你的答案就没有多大用处。你能花点时间描述一下你做了什么以及为什么吗?@BryanOakley,补充了描述。很抱歉你的英语很差。@andrejcuric:如果这是一门课,你不应该问别人怎么做,你应该自己解决。你需要的一切“d to know”在internet上现成的文档中。@andrejcurcic,您在注释中输入的代码很难阅读。请更新问题或发布另一个问题。Thanx!但如果我要删除更多标签,我该怎么办?我希望“重置”按钮重置窗口中可见的所有参数。下面是在gues上使用的REVEL语句s btn
def-reveal(self):全局尝试name=self.name_äent.get()guess=self.guess_ent.get()如果int(guess)>int(number):result_msg=“Tyvärr detär lägre!!“如果int(猜测)
code`如果没有描述,你的答案就没有多大用处。你能花点时间描述一下你做了什么以及为什么吗?@BryanOakley,补充了描述。很抱歉你的英语很差。@andrejcuric:如果这是一门课,你不应该问别人怎么做,你应该自己解决。你需要的一切“d to know”在internet上现成的文档中。@AndrejCuric,您在注释中输入的代码很难阅读。请更新问题或发布其他问题。