113 lines
5.0 KiB
Python
113 lines
5.0 KiB
Python
# 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()
|