Tkinter Spinbox textvariable参数无效。我错过了什么吗?

2024-05-15 11:10:06 发布

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

我定义了一个具有“bpm”属性的类:

class Section:
    def __init__(self, id, bpm, bars, reps, num_tracks):
        self.id = id
        self.bpm = bpm
        self.bars = bars
        self.reps = reps
        self.num_tracks = num_tracks

然后,我调用该属性将其用作spinbox上的textvariable参数,一旦我在字典中创建了Section类的实例:

^{pr2}$

我可以将sections[new_id].bpm的值打印为120,因此我知道这是可行的。在

但是,即使我在spinbox上设置了textvariable,我也只是在spinbox上得到了一个值1,而我希望它是来自新实例的120。即使我把textvariable设置为直接向上120,我还是得到了1。在


Tags: 实例selfid属性定义defsectionnum
1条回答
网友
1楼 · 发布于 2024-05-15 11:10:06

您需要将其设置为IntVar()才能使用

self.bpm = IntVar()
self.bpm.set(bpm) # set value passed in

从数字调整框中获取值时,可以使用Spinbox.get()返回当前值的字符串,也可以使用self.bpm.get()作为int值

相关问题 更多 >