Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新!:Tkinter python 2.7问题 导入Tkinter 导入tkMessageBox 类MyApp(对象): 定义初始化(自): self.topFrame=Tkinter.Frame() self.root=Tk() self.root.wm_标题(“我的第一个窗口!”) self.label=label(self.root,text=“输入您的体重”) self.label.pack(padx=20,pady=10) self.labeltext=StringVar() self.labeltext.set(“输入您的身高!”) Label(self.root,textvariable=self.labeltext.pack()) self.entrytext2=StringVar() 条目(self.root,textvariable=self.entrytext2.pack()) self.entrytext2.trace('w',self.entry\u已更改) self.buttontext=StringVar() self.buttontext.set(“Bouton”) 按钮(self.root,textvariable=self.buttontext,command=self.clicked1).pack() self.entrytext=StringVar() 条目(self.root,textvariable=self.entrytext).pack() self.entrytext.trace('w',self.entry\u已更改) def calcBMI(自身): 权重=浮动(self.entrytext2.get()) 英寸=浮动(self.entrytext.get()) 体重指数=(体重*703)/英寸**2 如果BMI>18.5且BMI_Python_Tkinter - Fatal编程技术网

更新!:Tkinter python 2.7问题 导入Tkinter 导入tkMessageBox 类MyApp(对象): 定义初始化(自): self.topFrame=Tkinter.Frame() self.root=Tk() self.root.wm_标题(“我的第一个窗口!”) self.label=label(self.root,text=“输入您的体重”) self.label.pack(padx=20,pady=10) self.labeltext=StringVar() self.labeltext.set(“输入您的身高!”) Label(self.root,textvariable=self.labeltext.pack()) self.entrytext2=StringVar() 条目(self.root,textvariable=self.entrytext2.pack()) self.entrytext2.trace('w',self.entry\u已更改) self.buttontext=StringVar() self.buttontext.set(“Bouton”) 按钮(self.root,textvariable=self.buttontext,command=self.clicked1).pack() self.entrytext=StringVar() 条目(self.root,textvariable=self.entrytext).pack() self.entrytext.trace('w',self.entry\u已更改) def calcBMI(自身): 权重=浮动(self.entrytext2.get()) 英寸=浮动(self.entrytext.get()) 体重指数=(体重*703)/英寸**2 如果BMI>18.5且BMI

更新!:Tkinter python 2.7问题 导入Tkinter 导入tkMessageBox 类MyApp(对象): 定义初始化(自): self.topFrame=Tkinter.Frame() self.root=Tk() self.root.wm_标题(“我的第一个窗口!”) self.label=label(self.root,text=“输入您的体重”) self.label.pack(padx=20,pady=10) self.labeltext=StringVar() self.labeltext.set(“输入您的身高!”) Label(self.root,textvariable=self.labeltext.pack()) self.entrytext2=StringVar() 条目(self.root,textvariable=self.entrytext2.pack()) self.entrytext2.trace('w',self.entry\u已更改) self.buttontext=StringVar() self.buttontext.set(“Bouton”) 按钮(self.root,textvariable=self.buttontext,command=self.clicked1).pack() self.entrytext=StringVar() 条目(self.root,textvariable=self.entrytext).pack() self.entrytext.trace('w',self.entry\u已更改) def calcBMI(自身): 权重=浮动(self.entrytext2.get()) 英寸=浮动(self.entrytext.get()) 体重指数=(体重*703)/英寸**2 如果BMI>18.5且BMI,python,tkinter,Python,Tkinter,因此,当我编辑它时,我得到: import Tkinter import tkMessageBox class MyApp(object): def __init__(self): self.topFrame = Tkinter.Frame() self.root = Tk() self.root.wm_title("My first window!") self.label = Label(self.root, text

因此,当我编辑它时,我得到:

import Tkinter
import tkMessageBox

class MyApp(object):
    def __init__(self):
        self.topFrame = Tkinter.Frame()
        self.root = Tk()
        self.root.wm_title("My first window!")
        self.label = Label(self.root, text="Enter your weight")
        self.label.pack(padx=20,pady=10)
        self.labeltext = StringVar()
        self.labeltext.set("Enter your height!")
        Label(self.root, textvariable=self.labeltext).pack()
        self.entrytext2 = StringVar()
        Entry(self.root, textvariable=self.entrytext2).pack()
        self.entrytext2.trace('w', self.entry_changed)
        self.buttontext = StringVar()
        self.buttontext.set("Bouton")
        Button(self.root, textvariable=self.buttontext, command=self.clicked1).pack()
        self.entrytext = StringVar()
        Entry(self.root, textvariable=self.entrytext).pack()
        self.entrytext.trace('w', self.entry_changed)

    def calcBMI(self):
        weight = float(self.entrytext2.get())
        inches = float(self.entrytext.get())
        BMI = (weight * 703)/ inches **2
        if BMI > 18.5 and BMI < 25:
                self.labeltext.set(BMI)
        elif BMI < 18.5:
                print ' Your BMI is Underweight ', self.value.set(BMI)
        else:
                print ' Your BMI is Overweight ', self.value.set(BMI)




    def clicked1(self):
        response = tkMessageBox.askyesno("Confirm", "You clicked?")
        if response:
            self.labeltext.set("You've been clicked!")
            self.buttontext.set("Butttttttton")
            print response

MyApp()
文件“window1.py”,第45行,在
MyApp()
文件“window1.py”,第7行,在_init中__
self.root=Tk()
NameError:未定义全局名称“Tk”
由于您导入了“*from”Tkinter,因此无法使用其名称来引用它。要在程序中使用名称
Tkinter
,必须按如下方式导入:

File "window1.py", line 45, in <module>
    MyApp()
  File "window1.py", line 7, in __init__
    self.root = Tk()
NameError: global name 'Tk' is not defined
或者,您只需从代码中删除“
Tkinter.
”,并保留import语句,如下所示

请阅读尝试调用Frame(),而不是Tkinter.Frame()。您使用了一个野生导入,这是这行代码

import Tkinter
因此,名称空间“Tkinter”已经通过该语句定义,并且该名称空间中的每个invidual方法和类现在都可以直接使用

Frame()在使用

from Tkinter import *

而不是前者。我还没有测试您的代码是否存在进一步的问题。

您混淆了两条好建议。尝试在有问题的行中添加
Tkinter.Tk()
。如果您在问题后面添加了内容,而不是全部替换,那就最好了。现在看来,甘达罗和贾普班赛给出了错误的答案,而事实上他们很有帮助。@user173314听从朱努克斯的建议。Tk()是模块Tkinter中的一个类,当您简单地导入Tkinter时,python需要知道神奇的术语Tk()来自何处,在本例中,它来自您导入的模块。如果您阅读甘达罗提供的URL,它将帮助您更好地理解这一点。
import Tkinter