试着从一个Tkinter量表中得到数值并把它放到实验室里

2024-07-01 07:11:51 发布

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

我有一个小Python程序,它获取Tkinter scale的值并将其放入一个标签中。在

#!/usr/bin/python

from Tkinter import *

class App:

    strval = StringVar()
    def __init__(self,master):

        frame = Frame(master)
        frame.pack()
        self.slide = Scale(frame, command = self.up, from_ = 1, to = 100)
        self.out = Label(frame, textvariable = self.strval)
        self.slide.pack()
        self.out.pack()

    def up(self,newscale):
        amount = str(newscale)
        self.strval.set(amount)


root = Tk()
app =  App(root)
root.mainloop()

当我运行程序时,它会给我和错误消息:

^{pr2}$

我不太确定出了什么问题,我对Tk接口完全一窍不通。 如果有人能解释我做错了什么,我会很乐意的。在


Tags: fromself程序masterapptkinterdefroot
1条回答
网友
1楼 · 发布于 2024-07-01 07:11:51

这是因为您在创建Tk根元素之前创建了StringVar。如果将语句root = Tk()移到类的定义之前,您将看到它是如何按预期工作的。在

但是,理想的解决方案是以不依赖顺序的方式编写它,因此我建议您在构造函数中创建StringVar:

class App:
    def __init__(self,master):
        frame = Frame(master)
        frame.pack()
        self.strval = StringVar(frame)
        # ...

相关问题 更多 >

    热门问题