Files
SOMEIP/code_generator/backup/old/main.py
2026-06-09 20:16:47 +08:00

113 lines
5.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# coding=utf-8
import time
import tkinter as tk
from tkinter import Button, Checkbutton, Entry, Image, IntVar, Label, StringVar, scrolledtext, ttk, filedialog, messagebox
from datetime import datetime
from string import Template
import tkinter_ui as gui
import template as tmpl
# 获取当前时间
def Time(): #getCurrentTime
current_time = time.strftime('[%Y-%m-%d %H:%M:%S]',time.localtime(time.time()))
return current_time
if __name__ == "__main__":
# #全局风格类型变量
# entry_width = 30
# short_entry_width = 15
# font_pix = 15
# font_type = "微软雅黑"
# #window.geometry('1000x500+0+0')
# #window.resizable(0,0)
# #setWindowCenter(window, 700, 400) #窗口居中,传入窗口句柄和窗口宽高
#主窗口
#实例化一个窗体
window = gui.instantiate_the_window("Someip Service Code Generator") #窗口名
note = gui.instantiate_the_note(window)
#在窗体win中创建一个Notebook并承载以下两个选项卡
TabMain = gui.instantiate_the_tab(note, "Main") #选项卡1
Tab2 = gui.instantiate_the_tab(note, "Tab2")
## 以下为Main选项卡
# 第一组 Create/Modify
group_app = gui.instantiate_the_group(TabMain,"App") #创建Frame一组
#设置输入框控件使用textvariable参数来接收变量
# 定义输入框1
label1 = Label(group_app, text='Run Config File Path')
label1.grid(sticky="w", padx=15)
entry1 = Entry(group_app, width=tmpl.entry_width, textvariable=tmpl.runConfigFilename)
entry1.grid(row=0,column=1,sticky="w")
entry1.config(state='normal') #'readonly'
# Button(group_app, text='...', command=open_file).grid(row=0, column=2)
# 定义输入框2
label2 = Label(group_app, text='App name')
label2.grid(sticky="w", padx=15)
entry2 = Entry(group_app, width=tmpl.entry_width, textvariable=tmpl.appName)
entry2.grid(row=1,column=1,sticky="w")
# 定义输入框3
label3 = Label(group_app, text='Service ID')
label3.grid(sticky="w", padx=15)
entry3 = Entry(group_app, width=tmpl.entry_width, textvariable=tmpl.serviceID)
entry3.grid(row=2,column=1)
entry3.config(state='readonly')
# 定义输入框4
label4 = Label(group_app, text='Instance ID')
label4.grid(sticky="w", padx=15)
entry4 = Entry(group_app, width=tmpl.ntry_width, textvariable=tmpl.instanceID)
entry4.grid(row=3,column=1)
entry4.config(state='readonly')
# 设置复选框控件使用variable参数来接收变量
check0 = Checkbutton(window, text="use_tcp",variable = tmpl.use_tcp,onvalue=1,offvalue=0)
check1 = Checkbutton(window, text="offer_F-F_method",variable = tmpl.offer_F_F_method,onvalue=1,offvalue=0, command=tmpl.entryState)
check2 = Checkbutton(window, text="offer_R-R_method",variable = tmpl.offer_R_R_method,onvalue=1,offvalue=0, command=tmpl.entryState)
check3 = Checkbutton(window, text="offer_setter",variable = tmpl.offer_setter,onvalue=1,offvalue=0, command=tmpl.entryState)
check4 = Checkbutton(window, text="offer_getter",variable = tmpl.offer_getter,onvalue=1,offvalue=0, command=tmpl.entryState)
check56 = Checkbutton(window, text="offer_event",variable = tmpl.offer_event,onvalue=1,offvalue=0, command=tmpl.entryState)
check78 = Checkbutton(window, text="offer_field_notifier",variable = tmpl.offer_field_notifier,onvalue=1,offvalue=0, command=tmpl.entryState)
check0.grid(sticky="w")
check1.grid(sticky="w")
check2.grid(sticky="w")
check3.grid(sticky="w")
check4.grid(sticky="w")
check56.grid(sticky="w")
check78.grid(sticky="w")
# 设置各种服务类型的IDs使用textvariable参数来接收变量
idEntry1 = Entry(window, width=tmpl.entry_width, textvariable=tmpl.F_F_method_ids)
idEntry2 = Entry(window, width=tmpl.entry_width, textvariable=tmpl.R_R_method_ids)
idEntry3 = Entry(window, width=tmpl.entry_width, textvariable=tmpl.setter_ids)
idEntry4 = Entry(window, width=tmpl.entry_width, textvariable=tmpl.getter_ids)
idEntry5 = Entry(window, width=tmpl.short_entry_width, textvariable=tmpl.eventgroup_ids)
idEntry6 = Entry(window, width=tmpl.short_entry_width, textvariable=tmpl.event_ids)
idEntry7 = Entry(window, width=tmpl.short_entry_width, textvariable=tmpl.ield_eventgroup_ids)
idEntry8 = Entry(window, width=tmpl.short_entry_width, textvariable=tmpl.field_event_ids)
idEntry1.grid_forget()
idEntry2.grid_forget()
idEntry3.grid_forget()
idEntry4.grid_forget()
idEntry5.grid_forget()
idEntry6.grid_forget()
idEntry7.grid_forget()
idEntry8.grid_forget()
# 按钮
button1 = Button(window, text="Generate", command=tmpl.generate)
button1.grid(row=11, column=0, sticky="w", padx=15, pady=5)
button2 = Button(window, text='Exit',command=window.quit)
button2.grid(row=11, column=1, sticky="e", padx=15, pady=5)
window.mainloop()