我尝试将一些交互式功能添加到现有的python脚本中。 该脚本是简单的P控制器,可以根据输入计算输出,并且需要将两个不同的参数存储在实例变量中。
class PControl:
def __init__(self,P=1,SET=0):
self.p = P
self.setpoint = SET
def calculate(self,input):
return (input-self.setpoint)*self.p
def changeP(self,newP):
self.p= newP
def changeSetpoint(self,newSet):
self.setpoint = newSet
calc函数由我的主应用程序定期调用,并且一切运行正常。 (但没有GUI,这就是普通应用程序应该的样子)
要交互式地调整参数,我想添加一些带有两个滑块或旋钮的GUI,这两个滑块或旋钮分别绑定到changeP()
作为回调changeSetpoint()
。
我想在测试期间以交互方式调整这些参数。以后,最好不再使用GUI,而只使用初始化参数运行脚本。
如何在不将整个应用程序更改为GUI应用程序的情况下执行此操作?
有没有一种方法可以打开一个带有两个滑块和绑定到它们的回调的窗口? (我想到的东西类似于交互式matplotlib窗口)
我整天用tkinter修补(双关语),并尝试在不同的线程中运行它的“ tk.Tk()。mainloop()”,但是我很走运,因为我无法通过在这些线程之间来回传递消息,当我尝试使用两个“ PControl”实例时,它变得非常讨厌。
是否存在针对此类简单问题的简单替代方案?任何想法都欢迎。
非常感谢!