16进制与10进制互转,16进制转10进制,10进制转16进制

该博客介绍了使用Python的Tkinter库创建一个图形界面应用,用于实现16进制和10进制数据之间的批量转换。用户可以输入以空格分隔的16进制数,程序会将其转换为10进制,并显示在界面上。同样,也可以将10进制数转换为16进制。此外,提供了清空输入框的功能,方便多次转换。博客还分享了代码实现及打包成可执行文件的方法。
摘要由CSDN通过智能技术生成

近期在调试单片机时需要观看端口数据,需要将16进制数据转化成10进制数据。在网上找了蛮多都只能实现单个数据的转化,于是便用PYTHON编写了一份。

import tkinter as tk
root=tk.Tk()
root.title('16进制与10进制互转(每个数据空格间隔)  by ivRobot')
root.geometry("850x400")
root.resizable(0,0)

def converse16to10():
    try:
        t2.delete(1.0,'end')
        nums = t1.get(1.0,'end').split(" ")
        #print(nums)
        for i in nums:
            if i !='\n':
                t2.insert('end',int(i, 16))
                t2.insert('end', ' ')
    except:
        pass
def converse10to16():
    try:
        t1.delete(1.0,'end')
        nums = t2.get(1.0,'end').split(" ")
        #print(nums)
        for i in nums:
            if i !='\n':
                if len(hex(int(i)))==3:
                    t1.insert('end','0'+hex(int(i))[-1].upper())
                    t1.insert('end', ' ')
                elif len(hex(int(i)))==4:
                    t1.insert('end', hex(int(i))[-2:].upper())
                    t1.insert('end', ' ')
                else:
                    pass
    except:
        pass
def delete16():
    t1.delete(1.0,'end')
def delete10():
    t2.delete(1.0,'end')
t1=tk.Text(root,font=("黑体",16),width=60,height=6)
t1.place(x=100,y=50)
t2=tk.Text(root,font=("黑体",16),width=60,height=6)
t2.place(x=100,y=250)
b1=tk.Button(root,text='16转10  ↓', font=("黑体",16),width=10,command=converse16to10)
b1.place(x=250,y=200)
b2=tk.Button(root,text='10转16  ↑', font=("黑体",16),width=10,command=converse10to16)
b2.place(x=450,y=200)
l1=tk.Label(root,text='16进制', font=("黑体",16),)
l1.place(x=10,y=100)
l2=tk.Label(root,text='10进制', font=("黑体",16),)
l2.place(x=10,y=300)
b3=tk.Button(root,text='清空16', font=("黑体",16),width=6,command=delete16)
b3.place(x=10,y=130)
b2=tk.Button(root,text='清空10', font=("黑体",16),width=6,command=delete10)
b2.place(x=10,y=330)
root.mainloop()

单个数据转化
多个数据之间用空格间隔

用tkinter制作界面,2个text分别存放10进制和16进制数据,数据之间用空格分开,16进制转化10进制主要用int()函数来处理,10进制转化16进制用hex()函数,然后处理掉0x标志和大写。
最后添加了清空按键,实现清空text内容。
pyinstaller打包好的工具也上传了。
点击这里下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ivRobot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值