使用tkinter

我正在使用tkinter界面为我的代码读取一些信息,例如文件路径,测量变量等。我使用use_entry函数将它们读出来,该函数作为应用程序的kill命令保留在此处。然后我运行几次代码以分析不同的数据集。

这似乎工作正常,但我注意到,如果两个属性获得相同的值(此处为exp和pwr),则它们会变得混乱。意味着两者永久成为相同的值。因此,如果我将exp设置为A并将pwr设置为B,则可以自由更改它们,但是只要将它们都设置为相同的字符串或int或它们同时开始被更改(此处都是“ A”),就可以自由更改它们。除非重新启动控制台或更改tkinter之外的值之一,否则我无法解决此问题。

import tkinter as tk

class App:
    def __init__(self,parent):
        self.exp="A"
        self.pwr="A"
        self.parent=parent

        self.exposure = tk.Entry(parent,textvariable=self.exp)
        self.exposure.pack()

        self.power = tk.Entry(parent,textvariable=self.pwr)
        self.power.pack()


        self.button4 = tk.Button(parent,text="Done",command=self.use_entry)

        self.button4.pack()



    def use_entry(self):
        self.contents = (float(self.power.get()),float(self.exposure.get()))
        self.parent.destroy()


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

我对使用tkinter并不陌生,如果有人指出我的错误,我会感到很高兴。

zhuangting 回答:使用tkinter

在条目中使用tk.StringVar代替普通字符串作为textvariable。

self.exp = tk.StringVar(value='A')
self.pwr = tk.StringVar(value='A')
self.parent=parent

self.exposure = tk.Entry(parent,textvariable=self.exp)
self.exposure.pack(side=tk.LEFT,anchor=tk.W)

self.power = tk.Entry(parent,textvariable=self.pwr)
self.power.pack()
本文链接:https://www.f2er.com/3113999.html

大家都在问