Python tkinter 界面软件:自动图像转储配置工具
以下是一个可能的实现:
from tkinter import *
class App:
def __init__(self, master):
self.master = master
master.title('Auto Image Dump')
# 创建复选框
self.autoImageDump = IntVar()
self.autoImageDumpCheckbutton = Checkbutton(master, text='Auto Image Dump', variable=self.autoImageDump)
self.autoImageDumpCheckbutton.grid(row=0, column=0)
self.dumpInputatOutput = IntVar()
self.dumpInputatOutputCheckbutton = Checkbutton(master, text='Dump Input at Output', variable=self.dumpInputatOutput)
self.dumpInputatOutputCheckbutton.grid(row=0, column=1)
self.input_ports_IFE = IntVar()
self.input_ports_IPE = IntVar()
self.input_ports_BPS = IntVar()
self.input_ports_JPEG = IntVar()
self.input_ports_FDHw = IntVar()
self.input_ports_LRME = IntVar()
self.input_ports_RANSAC = IntVar()
self.input_ports_ChiNodes = IntVar()
self.input_ports_CVP = IntVar()
self.input_ports_OPE = IntVar()
self.input_ports_QSAT = IntVar()
self.input_ports_others_nodes = IntVar()
self.input_ports_IFE_Checkbutton = Checkbutton(master, text='input_ports_IFE', variable=self.input_ports_IFE)
self.input_ports_IPE_Checkbutton = Checkbutton(master, text='input_ports_IPE', variable=self.input_ports_IPE)
self.input_ports_BPS_Checkbutton = Checkbutton(master, text='input_ports_BPS', variable=self.input_ports_BPS)
self.input_ports_JPEG_Checkbutton = Checkbutton(master, text='input_ports_JPEG', variable=self.input_ports_JPEG)
self.input_ports_FDHw_Checkbutton = Checkbutton(master, text='input_ports_FDHw', variable=self.input_ports_FDHw)
self.input_ports_LRME_Checkbutton = Checkbutton(master, text='input_ports_LRME', variable=self.input_ports_LRME)
self.input_ports_RANSAC_Checkbutton = Checkbutton(master, text='input_ports_RANSAC', variable=self.input_ports_RANSAC)
self.input_ports_ChiNodes_Checkbutton = Checkbutton(master, text='input_ports_ChiNodes', variable=self.input_ports_ChiNodes)
self.input_ports_CVP_Checkbutton = Checkbutton(master, text='input_ports_CVP', variable=self.input_ports_CVP)
self.input_ports_OPE_Checkbutton = Checkbutton(master, text='input_ports_OPE', variable=self.input_ports_OPE)
self.input_ports_QSAT_Checkbutton = Checkbutton(master, text='input_ports_QSAT', variable=self.input_ports_QSAT)
self.input_ports_others_nodes_Checkbutton = Checkbutton(master, text='input_ports_others_nodes', variable=self.input_ports_others_nodes)
self.input_ports_IFE_Checkbutton.grid(row=1, column=0)
self.input_ports_IPE_Checkbutton.grid(row=2, column=0)
self.input_ports_BPS_Checkbutton.grid(row=3, column=0)
self.input_ports_JPEG_Checkbutton.grid(row=4, column=0)
self.input_ports_FDHw_Checkbutton.grid(row=5, column=0)
self.input_ports_LRME_Checkbutton.grid(row=6, column=0)
self.input_ports_RANSAC_Checkbutton.grid(row=7, column=0)
self.input_ports_ChiNodes_Checkbutton.grid(row=8, column=0)
self.input_ports_CVP_Checkbutton.grid(row=9, column=0)
self.input_ports_OPE_Checkbutton.grid(row=10, column=0)
self.input_ports_QSAT_Checkbutton.grid(row=11, column=0)
self.input_ports_others_nodes_Checkbutton.grid(row=12, column=0)
self.IFEInputPortCSIDTPG = IntVar()
self.IFEInputPortCAMIFTPG = IntVar()
self.IFEInputPortSensor = IntVar()
self.IFEInputPortRDI0 = IntVar()
self.IFEInputPortRDI1 = IntVar()
self.IFEInputPortRDI2 = IntVar()
self.IFEInpurPortDualPD = IntVar()
self.ALLports = IntVar()
self.IFEInputPortCSIDTPG_Checkbutton = Checkbutton(master, text='IFEInputPortCSIDTPG', variable=self.IFEInputPortCSIDTPG)
self.IFEInputPortCAMIFTPG_Checkbutton = Checkbutton(master, text='IFEInputPortCAMIFTPG', variable=self.IFEInputPortCAMIFTPG)
self.IFEInputPortSensor_Checkbutton = Checkbutton(master, text='IFEInputPortSensor', variable=self.IFEInputPortSensor)
self.IFEInputPortRDI0_Checkbutton = Checkbutton(master, text='IFEInputPortRDI0', variable=self.IFEInputPortRDI0)
self.IFEInputPortRDI1_Checkbutton = Checkbutton(master, text='IFEInputPortRDI1', variable=self.IFEInputPortRDI1)
self.IFEInputPortRDI2_Checkbutton = Checkbutton(master, text='IFEInputPortRDI2', variable=self.IFEInputPortRDI2)
self.IFEInpurPortDualPD_Checkbutton = Checkbutton(master, text='IFEInpurPortDualPD', variable=self.IFEInpurPortDualPD)
self.ALLports_Checkbutton = Checkbutton(master, text='ALLports', variable=self.ALLports)
self.IFEInputPortCSIDTPG_Checkbutton.grid(row=1, column=1)
self.IFEInputPortCAMIFTPG_Checkbutton.grid(row=2, column=1)
self.IFEInputPortSensor_Checkbutton.grid(row=3, column=1)
self.IFEInputPortRDI0_Checkbutton.grid(row=4, column=1)
self.IFEInputPortRDI1_Checkbutton.grid(row=5, column=1)
self.IFEInputPortRDI2_Checkbutton.grid(row=6, column=1)
self.IFEInpurPortDualPD_Checkbutton.grid(row=7, column=1)
self.ALLports_Checkbutton.grid(row=8, column=1)
self.output_ports_IFE = IntVar()
self.output_ports_IPE = IntVar()
self.output_ports_BPS = IntVar()
self.output_ports_JPEG = IntVar()
self.output_ports_FDHw = IntVar()
self.output_ports_LRME = IntVar()
self.output_ports_RANSAC = IntVar()
self.output_ports_ChiNodes = IntVar()
self.output_ports_CVP = IntVar()
self.output_ports_TFE = IntVar()
self.output_ports_OPE = IntVar()
self.output_ports_QSAT = IntVar()
self.output_ports_other_nodes = IntVar()
self.output_ports_IFE_Checkbutton = Checkbutton(master, text='output_ports_IFE', variable=self.output_ports_IFE)
self.output_ports_IPE_Checkbutton = Checkbutton(master, text='output_ports_IPE', variable=self.output_ports_IPE)
self.output_ports_BPS_Checkbutton = Checkbutton(master, text='output_ports_BPS', variable=self.output_ports_BPS)
self.output_ports_JPEG_Checkbutton = Checkbutton(master, text='output_ports_JPEG', variable=self.output_ports_JPEG)
self.output_ports_FDHw_Checkbutton = Checkbutton(master, text='output_ports_FDHw', variable=self.output_ports_FDHw)
self.output_ports_LRME_Checkbutton = Checkbutton(master, text='output_ports_LRME', variable=self.output_ports_LRME)
self.output_ports_RANSAC_Checkbutton = Checkbutton(master, text='output_ports_RANSAC', variable=self.output_ports_RANSAC)
self.output_ports_ChiNodes_Checkbutton = Checkbutton(master, text='output_ports_ChiNodes', variable=self.output_ports_ChiNodes)
self.output_ports_CVP_Checkbutton = Checkbutton(master, text='output_ports_CVP', variable=self.output_ports_CVP)
self.output_ports_TFE_Checkbutton = Checkbutton(master, text='output_ports_TFE', variable=self.output_ports_TFE)
self.output_ports_OPE_Checkbutton = Checkbutton(master, text='output_ports_OPE', variable=self.output_ports_OPE)
self.output_ports_QSAT_Checkbutton = Checkbutton(master, text='output_ports_QSAT', variable=self.output_ports_QSAT)
self.output_ports_other_nodes_Checkbutton = Checkbutton(master, text='output_ports_other_nodes', variable=self.output_ports_other_nodes)
self.output_ports_IFE_Checkbutton.grid(row=1, column=2)
self.output_ports_IPE_Checkbutton.grid(row=2, column=2)
self.output_ports_BPS_Checkbutton.grid(row=3, column=2)
self.output_ports_JPEG_Checkbutton.grid(row=4, column=2)
self.output_ports_FDHw_Checkbutton.grid(row=5, column=2)
self.output_ports_LRME_Checkbutton.grid(row=6, column=2)
self.output_ports_RANSAC_Checkbutton.grid(row=7, column=2)
self.output_ports_ChiNodes_Checkbutton.grid(row=8, column=2)
self.output_ports_CVP_Checkbutton.grid(row=9, column=2)
self.output_ports_TFE_Checkbutton.grid(row=10, column=2)
self.output_ports_OPE_Checkbutton.grid(row=11, column=2)
self.output_ports_QSAT_Checkbutton.grid(row=12, column=2)
self.output_ports_other_nodes_Checkbutton.grid(row=13, column=2)
self.IFEOutputPortFull = IntVar()
self.IFEOutputPortDS4 = IntVar()
self.IFEOutputPortDS16 = IntVar()
self.IFEOutputPortCAMIFRaw = IntVar()
self.IFEOutputPortLSCRaw = IntVar()
self.IFEOutputPortGTMRaw = IntVar()
self.IFEOutputPortFD = IntVar()
self.IFEOutputPortPDAF = IntVar()
self.IFEOutputPortRDI0 = IntVar()
self.IFEOutputPortRDI1 = IntVar()
self.IFEOutputPortRDI2 = IntVar()
self.IFEOutputPortRDI3 = IntVar()
self.IFEOutputPortFull_Checkbutton = Checkbutton(master, text='IFEOutputPortFull', variable=self.IFEOutputPortFull)
self.IFEOutputPortDS4_Checkbutton = Checkbutton(master, text='IFEOutputPortDS4', variable=self.IFEOutputPortDS4)
self.IFEOutputPortDS16_Checkbutton = Checkbutton(master, text='IFEOutputPortDS16', variable=self.IFEOutputPortDS16)
self.IFEOutputPortCAMIFRaw_Checkbutton = Checkbutton(master, text='IFEOutputPortCAMIFRaw', variable=self.IFEOutputPortCAMIFRaw)
self.IFEOutputPortLSCRaw_Checkbutton = Checkbutton(master, text='IFEOutputPortLSCRaw', variable=self.IFEOutputPortLSCRaw)
self.IFEOutputPortGTMRaw_Checkbutton = Checkbutton(master, text='IFEOutputPortGTMRaw', variable=self.IFEOutputPortGTMRaw)
self.IFEOutputPortFD_Checkbutton = Checkbutton(master, text='IFEOutputPortFD', variable=self.IFEOutputPortFD)
self.IFEOutputPortPDAF_Checkbutton = Checkbutton(master, text='IFEOutputPortPDAF', variable=self.IFEOutputPortPDAF)
self.IFEOutputPortRDI0_Checkbutton = Checkbutton(master, text='IFEOutputPortRDI0', variable=self.IFEOutputPortRDI0)
self.IFEOutputPortRDI1_Checkbutton = Checkbutton(master, text='IFEOutputPortRDI1', variable=self.IFEOutputPortRDI1)
self.IFEOutputPortRDI2_Checkbutton = Checkbutton(master, text='IFEOutputPortRDI2', variable=self.IFEOutputPortRDI2)
self.IFEOutputPortRDI3_Checkbutton = Checkbutton(master, text='IFEOutputPortRDI3', variable=self.IFEOutputPortRDI3)
self.IFEOutputPortFull_Checkbutton.grid(row=1, column=3)
self.IFEOutputPortDS4_Checkbutton.grid(row=2, column=3)
self.IFEOutputPortDS16_Checkbutton.grid(row=3, column=3)
self.IFEOutputPortCAMIFRaw_Checkbutton.grid(row=4, column=3)
self.IFEOutputPortLSCRaw_Checkbutton.grid(row=5, column=3)
self.IFEOutputPortGTMRaw_Checkbutton.grid(row=6, column=3)
self.IFEOutputPortFD_Checkbutton.grid(row=7, column=3)
self.IFEOutputPortPDAF_Checkbutton.grid(row=8, column=3)
self.IFEOutputPortRDI0_Checkbutton.grid(row=9, column=3)
self.IFEOutputPortRDI1_Checkbutton.grid(row=10, column=3)
self.IFEOutputPortRDI2_Checkbutton.grid(row=11, column=3)
self.IFEOutputPortRDI3_Checkbutton.grid(row=12, column=3)
# 添加更新标签的按钮
self.update_button = Button(master, text='Update', command=self.update_label)
self.update_button.grid(row=13, column=0, columnspan=2)
# 添加标签来显示结果
self.label = Label(master, text='', anchor=W, justify=LEFT)
self.label.grid(row=14, column=0, columnspan=4, sticky=W+E)
def update_label(self):
# 计算位掩码
autoImageDumpMask = 0
autoInputImageDumpMask = 0
autoImageDumpIFEinputPortMask = 0
autoImageDumpIFEoutputPortMask = 0
if self.autoImageDump.get():
autoImageDumpMask = 1
if self.dumpInputatOutput.get():
autoImageDumpMask |= 2
if self.input_ports_IFE.get():
autoInputImageDumpMask |= 0x1
if self.input_ports_IPE.get():
autoInputImageDumpMask |= 0x2
if self.input_ports_BPS.get():
autoInputImageDumpMask |= 0x4
if self.input_ports_JPEG.get():
autoInputImageDumpMask |= 0x8
if self.input_ports_FDHw.get():
autoInputImageDumpMask |= 0x10
if self.input_ports_LRME.get():
autoInputImageDumpMask |= 0x20
if self.input_ports_RANSAC.get():
autoInputImageDumpMask |= 0x40
if self.input_ports_ChiNodes.get():
autoInputImageDumpMask |= 0x80
if self.input_ports_CVP.get():
autoInputImageDumpMask |= 0x100
if self.input_ports_OPE.get():
autoInputImageDumpMask |= 0x400
if self.input_ports_QSAT.get():
autoInputImageDumpMask |= 0x800
if self.input_ports_others_nodes.get():
autoInputImageDumpMask |= 0x40000000
if self.IFEInputPortCSIDTPG.get():
autoImageDumpIFEinputPortMask |= 0x1
if self.IFEInputPortCAMIFTPG.get():
autoImageDumpIFEinputPortMask |= 0x2
if self.IFEInputPortSensor.get():
autoImageDumpIFEinputPortMask |= 0x4
if self.IFEInputPortRDI0.get():
autoImageDumpIFEinputPortMask |= 0x8
if self.IFEInputPortRDI1.get():
autoImageDumpIFEinputPortMask |= 0x10
if self.IFEInputPortRDI2.get():
autoImageDumpIFEinputPortMask |= 0x20
if self.IFEInpurPortDualPD.get():
autoImageDumpIFEinputPortMask |= 0x40
if self.ALLports.get():
autoImageDumpIFEinputPortMask |= 0x7F
if self.output_ports_IFE.get():
autoImageDumpMask |= 0x1
if self.output_ports_IPE.get():
autoImageDumpMask |= 0x2
if self.output_ports_BPS.get():
autoImageDumpMask |= 0x4
if self.output_ports_JPEG.get():
autoImageDumpMask |= 0x8
if self.output_ports_FDHw.get():
autoImageDumpMask |= 0x10
if self.output_ports_LRME.get():
autoImageDumpMask |= 0x20
if self.output_ports_RANSAC.get():
autoImageDumpMask |= 0x40
if self.output_ports_ChiNodes.get():
autoImageDumpMask |= 0x80
if self.output_ports_CVP.get():
autoImageDumpMask |= 0x100
if self.output_ports_TFE.get():
autoImageDumpMask |= 0x200
if self.output_ports_OPE.get():
autoImageDumpMask |= 0x400
if self.output_ports_QSAT.get():
autoImageDumpMask |= 0x800
if self.output_ports_other_nodes.get():
autoImageDumpMask |= 0x40000000
if self.IFEOutputPortFull.get():
autoImageDumpIFEoutputPortMask |= 0x1
if self.IFEOutputPortDS4.get():
autoImageDumpIFEoutputPortMask |= 0x2
if self.IFEOutputPortDS16.get():
autoImageDumpIFEoutputPortMask |= 0x4
if self.IFEOutputPortCAMIFRaw.get():
autoImageDumpIFEoutputPortMask |= 0x8
if self.IFEOutputPortLSCRaw.get():
autoImageDumpIFEoutputPortMask |= 0x10
if self.IFEOutputPortGTMRaw.get():
autoImageDumpIFEoutputPortMask |= 0x20
if self.IFEOutputPortFD.get():
autoImageDumpIFEoutputPortMask |= 0x40
if self.IFEOutputPortPDAF.get():
autoImageDumpIFEoutputPortMask |= 0x80
if self.IFEOutputPortRDI0.get():
autoImageDumpIFEoutputPortMask |= 0x100
if self.IFEOutputPortRDI1.get():
autoImageDumpIFEoutputPortMask |= 0x200
if self.IFEOutputPortRDI2.get():
autoImageDumpIFEoutputPortMask |= 0x400
if self.IFEOutputPortRDI3.get():
autoImageDumpIFEoutputPortMask |= 0x800
# 将不为零的变量以等式字符串显示在标签上,以空格分开
result = ''
if autoImageDumpMask:
result += f'autoImageDumpMask = {autoImageDumpMask} '
if autoInputImageDumpMask:
result += f'autoInputImageDumpMask = {autoInputImageDumpMask} '
if autoImageDumpIFEinputPortMask:
result += f'autoImageDumpIFEinputPortMask = {autoImageDumpIFEinputPortMask} '
if autoImageDumpIFEoutputPortMask:
result += f'autoImageDumpIFEoutputPortMask = {autoImageDumpIFEoutputPortMask} '
self.label.config(text=result)
root = Tk()
App(root)
root.mainloop()
原文地址: https://www.cveoy.top/t/topic/lFwm 著作权归作者所有。请勿转载和采集!