Python:将滑块小部件添加到仅控制台的纸条

2024-10-03 11:23:48 发布

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

我尝试向现有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

我的主应用程序定期调用calculate函数,一切正常(但如果没有GUI,这在正常应用程序中应该是这样的)

为了以交互方式调整参数,我想添加一些GUI,其中包含两个滑块或旋钮,分别作为回调绑定到changeP(){}

我希望在测试期间以交互方式调整这些参数。稍后,不再使用GUI,只需使用初始化参数运行脚本就可以了

如何在不将整个应用程序更改为GUI应用程序的情况下执行此操作

有没有一种方法可以打开一个窗口,其中有两个滑块和绑定到它们的回调? (我想到了类似于交互式matplotlib窗口的东西)

我用tkinter做了一整天的修补(双关语),并试图在另一个线程中运行它的“tk.tk().mainloop()”,但我运气不佳,因为我无法在这些线程之间来回传递消息,当我尝试使用两个“PControl”实例时,情况变得非常糟糕

对于这样一个简单问题,有没有简单的替代方案?欢迎提出任何意见

非常感谢


Tags: 实例self脚本应用程序input参数defgui