python编程控制示波器设备_基于Python的示波器的截屏GUI界面[通俗易懂]

python编程控制示波器设备_基于Python的示波器的截屏GUI界面[通俗易懂]importtimeimporttkinterastkfromtkinterimport*fromtkinterimportttkclassScreenCapture(object):def__init__(self):self.idn=self.__class__.__name__#InstrumentInitialisation#self.instr=MyIn…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

importtime

importtkinter astk

fromtkinter import*

fromtkinter importttk

classScreenCapture(object):

def__init__(self):

self.idn = self.__class__.__name__

# Instrument Initialisation

# self.instr = MyInstruments()

self.timestamp = time.strftime(‘%d-%b-%Y_%I.%M.%S_%p’)

self.results_folder = ‘%s%s%s’% (‘./EvalData/’, self.timestamp, ‘/’)

defgui_setup(self):

# Title and window size

win = tk.Tk()

win.title(“Screen Capture GUI”)

win.geometry(‘550×400’)

# CH Name Setting

label1 = ttk.Label(win, text=’CH1:LABEL:NAME’).grid(column=0, row=0)

text1 = tk.Text(width = 10, height = 1)

text1.grid(column=1, row=0)

text1.insert(INSERT,’LX1′)

label2 = ttk.Label(win, text=’CH2:LABEL:NAME’).grid(column=0, row=1)

text2 = tk.Text(width = 10, height = 1)

text2.grid(column=1, row=1)

text2.insert(INSERT,’VOUT’)

label3 = ttk.Label(win, text=’CH3:LABEL:NAME’).grid(column=0, row=2)

text3 = tk.Text(width = 10, height = 1)

text3.grid(column=1, row=2)

text3.insert(INSERT,’LX2′)

label4 = ttk.Label(win, text=’CH4:LABEL:NAME’).grid(column=0, row=3)

text4 = tk.Text(width = 10, height = 1)

text4.grid(column=1, row=3)

text4.insert(INSERT, ‘IOUT’)

# CH Offset Setting

ttk.Label(win, text=”CH1 Offset”).grid(column=2, row=0)

ch1offset = StringVar()

ch1offset_set = Scale(win, from_=0, to=2, orient=HORIZONTAL, resolution=0.01, tickinterval=100, length=100, variable=ch1offset)

ch1offset_set.grid(column=3, row=0)

ttk.Label(win, text=”CH2 Offset”).grid(column=2, row=1)

ch2offset = StringVar()

ch2offset_set = Scale(win, from_=0, to=2, orient=HORIZONTAL, resolution=0.01, tickinterval=10, length=100, variable=ch2offset)

ch2offset_set.grid(column=3, row=1)

ttk.Label(win, text=”CH3 Offset”).grid(column=2, row=2)

ch3offset = StringVar()

ch3offset_set = Scale(win, from_=0, to=2, orient=HORIZONTAL, resolution=0.01, tickinterval=10, length=100, variable=ch2offset)

ch3offset_set.grid(column=3, row=2)

ttk.Label(win, text=”CH4 Offset”).grid(column=2, row=3)

ch4offset = StringVar()

ch4offset_set = Scale(win, from_=0, to=2, orient=HORIZONTAL, resolution=0.01, tickinterval=10, length=100, variable=ch4offset)

ch4offset_set.grid(column=3, row=3)

# Input Voltage setting

ttk.Label(win, text=”INPUT VOLTAGE[V]”).grid(column=0, row=4)

vin = tk.StringVar()

vin_set = ttk.Combobox(win, width=10, textvariable=vin)

vin_set[‘values’] = (2.5, 3.0, 3.5, 3.7, 4.0, 4.5, 5.0, 5.5)

vin_set.grid(column=1, row=4)

vin_set.current(3)

# Output Current Setting

ttk.Label(win, text=”LOAD CURRENT[A]”).grid(column=0, row=5)

iout = tk.StringVar()

iout_set = ttk.Combobox(win, width=10, textvariable=iout)

iout_set[‘values’] = (0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0)

iout_set.grid(column=1, row=5)

iout_set.current(0)

# Trigger choose and type setting

ttk.Label(win, text=”CH Num of Trigger”).grid(column=0, row=6)

number = tk.StringVar()

numberChosen = ttk.Combobox(win, width=10, textvariable=number)

numberChosen[‘values’] = (‘CH1′,’CH2’, ‘CH3’, ‘CH4’)

numberChosen.grid(column=1, row=6)

numberChosen.current(3)

riseorfall = tk.StringVar()

riseorfallChosen = ttk.Combobox(win, width=10, textvariable=riseorfall)

riseorfallChosen[‘values’] = (‘Rise’,’Fall’)

riseorfallChosen.grid(column=2, row=6)

riseorfallChosen.current(1)

# Screen Capture button

action = ttk.Button(win, text=”Screen Capture”)

action.grid(column=1, row=10)

tk.mainloop()

if__name__ == ‘__main__’:

meas = ScreenCapture()

try:

meas.gui_setup()

finally:

pass

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182883.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 负载均衡之一致性哈希算法

    说到负载均衡的hash算法,自然会联想起如下这样的算法hash(object)%nodeTotal而在集群中,机器的动态上下线是常见的情况,如果集群是无状态的,那么上述的算法没有问题.但是如果是缓存之类的集群,节点的动态上下线会导致几乎所有的key的重新映射,这样造成的影响是数据错乱,相同备份的数据同时存在于集群中的多个节点,造成内存空间的浪费为了解决上述的问题,一致性哈希算法就被…

    2022年4月14日
    47
  • Service Mesh详解

    Service Mesh详解ServiceMesh简介:这个词最早使用由开发Linkerd的Buoyant公司提出,并在内部使用。2016年9月29日第一次公开使用这个术语。2017年的时候随着Linkerd的传入,ServiceMesh进入国内技术社区的视野。最早翻译为“服务啮合层”,这个词比较拗口。用了几个月之后改成了服务网格。微服务(Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块(SmallBuildingBlocks)为基础,利用模块化

    2025年5月31日
    1
  • 企业微信发送消息api_微信公众号发消息给用户

    企业微信发送消息api_微信公众号发消息给用户最近,接手了告警的一个需求。详细需求:监控一个应用的某些指标超标了,要提醒用户,通过企业微信给指定用户发送告警信息;今日自己实现了一下,总结出来分享给大家。注意:代码亲自编写,已自测通过文章目录前言一、编码?1.依赖2.SendWX.java3.WeChatMsgSend.java4.WeChatData.java5.WeChatUrlData.java二、参数1.构建自己的企业微信2.参数详细获取总结前言通过企业微信给指定用户发送告警信息一、编码?1.依赖<dependencie

    2022年9月27日
    0
  • matlab函数之间传递变量_matlab中value函数

    matlab函数之间传递变量_matlab中value函数imfinfo有关图形文件的信息在页面中全部折叠句法info= imfinfo(filename)info= imfinfo(filename,fmt)info= imfinfo(URL)描述例info = imfinfo(filename)返回一个

    2022年10月5日
    1
  • python中 global_python中round的用法

    python中 global_python中round的用法在Python中,一个变量的scope范围从小到大分成4部分:LocalScope(也可以看成是当前函数形成的scope),EnclosingScope(简单来说,就是外层函数形成的scope),GlobalScope(就是当前文件形成的scope),BuiltinsScope(简单来说,就是Python内置的变量位于最顶层的scope)。当Python开始查找一个非限定的变量名时(像ob…

    2022年9月3日
    4
  • 数据库连接池的好处有哪些_计算机系统坏了怎么修复

    数据库连接池的好处有哪些_计算机系统坏了怎么修复对于一个简单的数据库应用,由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。    连接复用。通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接可以得

    2022年9月15日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号