from tkinter import *
"""
*用途:将16进制转换为10进制
*参数:temp 16进制
*注意:每个16进制后面要加一个空格
*返回值:无
"""
def Conversion(temp):
storageSixteen=[]#存储传来的16进制数
deal=[]#将16进制进行一些处理
storageTen=[]#存储转换后的10进制数
text.delete(1.0,END)#先清空
"""
将空格除去只保留16进制并存储到deal中
"""
for i in temp:
if i==" ":
x="".join(storageSixteen)
deal.append(x)
storageSixteen=[]
else:
storageSixteen.append(i)
"""
开始将16进制转换为10进制并保存到storageTen中
"""
for i in range(len(deal)):
storageTen.append(int(deal[i],16))
"""
一行显示10个数据,每个数据用逗号隔开,
最后一个不加逗号
"""
for i in range(len(storageTen)):
if (i%10==0 and i!=0):
text.insert(INSERT,"\n")#添加内容
text.insert(INSERT,storageTen[i])#添加内容
if (i!=len(storageTen)-1):
text.insert(INSERT,",")#添加内容
text.insert(INSERT,"\n\n")#添加内容
text.insert(INSERT,"总共有:")#添加内容
text.insert(INSERT,len(storageTen))#添加内容
text.insert(INSERT,"个数据")#添加内容
"""
*用途:调用Conversion函数并获取文本框的内容
*参数:无
*返回值:无
"""
def begin():
temp=e.get()#文本框的内容
Conversion(temp)#调用函数
"""
*用途:显示作者信息
*参数:无
*返回值:无
"""
def author():
top=Toplevel()
#设置窗口的大小宽x高+偏移量
top.geometry('150x150')
# 禁止窗口拉伸
top.resizable(width=False, height=False)
top.title('小伤口')#标题
top.configure(bg='pink')
mag=Message(top,text="""作者:小伤口
欢迎微信搜索小伤口
关注小伤口微信公众号^_^""",bg='LightSkyBlue',font=('幼圆',10))
mag.pack()
"""
*用途:讲解如何使用
*参数:无
*返回值:无
"""
def manual():
top=Toplevel()
#设置窗口的大小宽x高+偏移量
top.geometry('250x200')
# 禁止窗口拉伸
top.resizable(width=False, height=False)
top.title('小伤口')#标题
top.configure(bg='pink')
mag=Message(top,text="""最上方输入16进制的数字
每一个数字之后都要加一个空格例如
06 A5 A4 09 (记得最后也要加一个空格)
然后点击开始转换即可变成10进制的数字
(ctrl+a全选 ctrl+c复制 ctrl+v粘贴)
""",bg='LightSkyBlue',font=('幼圆',10))
mag.pack()
master = Tk()
#设置窗口的大小宽x高+偏移量
master.geometry('250x250')
# 禁止窗口拉伸
master.resizable(width=False, height=False)
#设置窗口标题
master.title('简易转换器')
#设置窗口颜色
master.configure(bg="LightPink")
#文本框(entry)
e=Entry(master,bg="LightPink",font=('幼圆',10))
e.delete(0,END)#清空内容
#文本
label=Label(master,text="""每个16进制后面
要加一个空格(末尾也要加)""",bg="LightPink",font=('幼圆',10),foreground="red")
#顶级菜单
menu=Menu(master)
menu.add_cascade(label='作者',command=author)
menu.add_cascade(label='使用说明',command=manual)
#文本框(text)
text=Text(master,bg="steelblue")
#按钮
b=Button(master,text='开始转换',command=begin,bg="steelblue",
relief=FLAT,activebackground="steelblue",font=('幼圆',10),foreground="black")
#各组件的位置分布
label.pack()
e.pack()
b.pack(pady=10)
text.pack()
master.config(menu=menu)#config设置选型的内容,将root和menubar关联起来
mainloop()