ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python-Tkinter StringVar错误

2019-10-30 06:58:46  阅读:231  来源: 互联网

标签:tk tkinter converter string python


嗨,我收到此代码未定义StringVar()的错误,这可能是一件小事,但我对tkinter并不了解,希望获得一些帮助,谢谢.

这是我的代码:

import tkinter as tk


class Converter1(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.entry = tk.Entry(self)
        self.variable = StringVar()
        self.variable.set("Miles to Kilometers") # default dropdown menu value
        self.menu = tk.OptionMenu(self, variable, "Miles to Kilometers", "Kilometers to Miles")
        self.button = tk.Button(self, text="Convert!", command=self.convertMK)
        self.button.pack()
        self.menu.pack()
        self.button.pack()
        self.entry.pack()

    def convtertMK(self): # converts the miles and kilometers using the dropdown menu
        if var.get() == "Miles to Kilometers":
            print(int(self.entry.get()) * 1.6093)
        else:
            print(int(self.entry.get()) / 1.6093)        



converter = Converter1()

这是错误:

Traceback (most recent call last):
  File "/Users/MaxBookPro/Desktop/test.py", line 25, in <module>
    converter = Converter1()
  File "/Users/MaxBookPro/Desktop/test.py", line 8, in __init__
    self.variable = Variable1
NameError: global name 'Variable1' is not defined

再次感谢.

解决方法:

您需要指定tk.StringVar(),就像您对指定的其他所有tk函数一样.

self.variable = tk.StringVar()

这是因为您刚刚导入了tk.或者,您可以通过以下两行之一导入所需的功能,甚至全部导入:

from tk import StringVar
from tk import *

标签:tk,tkinter,converter,string,python
来源: https://codeday.me/bug/20191030/1966064.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有