Tkinter实时绘图按钮控制:如何解决开关按钮无法精确控制函数图像绘制起始时间和电路状态?

碧海醫心
发布: 2024-11-18 18:34:21
原创
660人浏览过

tkinter实时绘图按钮控制:如何解决开关按钮无法精确控制函数图像绘制起始时间和电路状态?

设计tkinter控制按钮实时生成函数图像出现问题

在代码中,模拟开关的行为时,出现了以下问题:

  • 问题:在单击模拟开关按钮时,电压和电流从 0 时刻开始绘制,而不是从单击按钮的那一刻开始。
  • 解决方法在 update_plot 函数中,更新 current_time_index 变量,使其与当前帧号相匹配。
  • 问题:按钮不能实现电路的断开和闭合。
  • 解决方法:
  1. 在 toggle_manual_switch 函数中,更新 current_time_index 变量(在原始代码中没有更新)。
  2. 在 calculate_circuit_response 函数中,调整 voltageovertime 和 currentovertime 数组的赋值逻辑,以反映开关的断开和闭合状态。

修改后的代码片段:

def toggle_manual_switch(self):
    # 获取当前时刻的索引
    current_index = int(self.current_time_index)  # FIXME: Q1.这个值没有更新过

# ... 省略其他代码 ...

def update_plot(self, frame):
    # 更新 current_time_index
    self.current_time_index = frame

    # ... 省略其他代码 ...

def calculate_circuit_response(self, current_time_index):
    # ... 省略其他代码 ...

    if not self.previous_switch_state:
        # 开关断开
        self.VoltageOverTime[current_time_index:] = 0  # FIXME: VoltageOverTime 和 CurrentOverTime 的赋值有些问题,之前是只赋值一个点?
        self.CurrentOverTime[current_time_index:] = 0
    else:
        # 开关闭合
        self.VoltageOverTime[current_time_index:] = V_battery * np.ones_like(
            self.VoltageOverTime[current_time_index:]
        )
        self.CurrentOverTime[current_time_index:] = V_battery / R_load * np.ones_like(
            self.CurrentOverTime[current_time_index:]
        )
登录后复制

以上就是Tkinter实时绘图按钮控制:如何解决开关按钮无法精确控制函数图像绘制起始时间和电路状态?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号