更新!:Tkinter python 2.7问题

2024-04-20 01:13:16 发布

您现在位置:Python中文网/ 问答频道 /正文

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()

所以当我编辑它的时候我得到:

^{pr2}$

Tags: selfresponsedefrootpackprintbmiweight
2条回答

由于您导入了“*from”Tkinter,因此不能使用其名称来引用它。要在程序中使用名称Tkinter,必须这样导入:

import Tkinter

或者您只需从代码中删除“Tkinter.”,并保留import语句。在

请阅读http://docs.python.org/2/tutorial/modules.html

尝试只调用Frame(),而不是Tkinter.框架(). 您使用了一个wild import,这是一行代码。。。在

from Tkinter import *

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

在Tkinter.框架()可以在使用的情况下工作

^{pr2}$

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

相关问题 更多 >