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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TCP/IP之Traceroute程序

    TCP/IP之Traceroute程序定义:Traceroute程序时一个能更深入探索TCP/IP协议的方便可用的工具。功能:Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。 Traceroute程序还可以让我们使用IP源路由选项。存在意义:不是所有路由器都支持记录路由选项 记录路由一般是单向的选项,记录地址翻了一番(一来一回) IP首部中留给选项的空间有限,不能存放当前大多…

    2022年6月20日
    32
  • GPU视频编解码「建议收藏」

    GPU视频编解码「建议收藏」一视频编解码基础1.1识别编码流程视频编解码流程1.2YUV颜色空间YCbCr通常是YUV的同义词,Y为明度(luma),CbCr为色度(chroma),Cb为蓝色分量,Cr为红色分量。颜色空间转换公式:–      RGB转YUV•      y=[0.299,0.587,0.114]*[r,g,b]’•      u=[-0.147,-0.28…

    2022年7月13日
    28
  • FastJson中@JSONField注解使用

    FastJson中@JSONField注解使用最近做项目中,使用了json格式在服务器之间进行数据传输。但是发现json格式数据不符合JAVA中的变量定义规则,并且难以理解,因此需要在后台中做二次处理,将数据处理成我们系统中定义的格式。思路:   1.定义需要返回的bean,bean中定义需要返回的数据    2.获取到需要处理的JSON字符串   3.将JSON字符串转换为bean,再将转换后的bean返回给客

    2025年8月21日
    5
  • 实战篇:Linux 安装 Oracle 11GR2 数据库保姆级教程[通俗易懂]

    实战篇:Linux 安装 Oracle 11GR2 数据库保姆级教程[通俗易懂]没接触Linux的朋友不用害怕,跟着本篇文章一步步操作,安装Oracle如喝水般简单且标准。

    2022年5月7日
    40
  • Pycharm中的terminal无法使用bash命令解决办法

    Pycharm中的terminal无法使用bash命令解决办法Reason:最近在看FADA论文,并且要运行代码。要运行的文件是sh文件,我想在terminal中使用bashxxx.sh来运行此文件,结果报错:‘bash’不是内部或外部命令,也不是可运行的程序或批处理文件。解决办法:(需要提前下好git,git网上教程很多,这里不赘述)打开Pycharm,File—->Settings—–>Tools—–>Terminal,如下图选择git安装目录下,bin文件中的bash.exe即可点击OK之后,去Terminal中看,

    2025年7月3日
    2
  • cmd查询mysql端口占用_windows cmd快速查看端口占用情况

    cmd查询mysql端口占用_windows cmd快速查看端口占用情况在调试服务或者程序的时候我们经常会通过检测对应端口是否打开来判断服务是否成功启动,本例就拿mysql的3306来实验。再看看3306端口是否已经被占用一、查看端口占用netstat-aon|findstr”3306″二、查看id对应的程序tasklist|findstr”6572″==============================C:\Users\Administrator>…

    2022年5月19日
    31

发表回复

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

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