python——tkinter实现进制转化

基于python的机制转化图形化界面开发。有问题欢迎留言。。
运行结果:
from tkinter import *
from tkinter.messagebox import *
def check():
    jinzhi=r.get()
    tmp=str(shuru.get())
    if tmp.isdigit() is not True:
        showerror("错误提示", "请输入数字")
        return;
    if jinzhi==2:
        out10=int(tmp,2)
        out2=tmp
        out8=oct(out10)
        out16=hex(out10)
        label_2=Label(tk,text=out2)
        label_8=Label(tk,text=out8[2:])
        label_10=Label(tk,text=out10)
        label_16=Label(tk,text=out16[2:])
    elif jinzhi==8:
        out10=int(tmp,8)
        out2=bin(out10)
        out8=tmp
        out16=hex(out10)
        label_2 = Label(tk, text=out2[2:])
        label_8 = Label(tk, text=out8)
        label_10 = Label(tk, text=out10)
        label_16 = Label(tk, text=out16[2:])
    elif jinzhi==10:
        out10=int(tmp)
        out2=bin(out10)
        out8=oct(out10)
        out16=hex(out10)
        label_2 = Label(tk, text=out2[2:])
        label_8 = Label(tk, text=out8[2:])
        label_10 = Label(tk, text=out10)
        label_16 = Label(tk, text=out16[2:])
    elif jinzhi==16:
        out10=int(tmp,16)
        out2=bin(out10)
        out8=oct(out10)
        out16=tmp
    else:
        showerror("错误提示","请选择进制")
        return ;
    label_2.configure(fg="red",font=("",14,"bold"))
    label_8.configure(fg="red",font=("",14,"bold"))
    label_10.configure(fg="red",font=("",14,"bold"))
    label_16.configure(fg="red",font=("",14,"bold"))
    label_2.place(x=200, y=60)
    label_8.place(x=200, y=90)
    label_10.place(x=200, y=120)
    label_16.place(x=200, y=150)
    showinfo("成功提示","转化成功")
 
if __name__ == '__main__':
    tk = Tk()
    tk.title("进制转化器")
    tk.geometry("500x200")
    lable1=Label(tk,text="选择要输入的进制:")
    lable2=Label(tk,text="输入具体的数值:")
    lable3=Label(tk,text="结果:")
    lable4=Label(tk,text="二进制:")
    lable5 = Label(tk, text="八进制:")
    lable6 = Label(tk, text="十进制:")
    lable7 = Label(tk, text="十六进制:")
    shuru=Entry(tk,width=30)
    enter=Button(tk,text="计算",command=check)
    r = IntVar()
    r1 = Radiobutton(tk, text="二进制", value=2, variable=r )
    r2 = Radiobutton(tk, text="八进制", value=8, variable=r )
    r3 = Radiobutton(tk, text="十进制", value=10, variable=r)
    r4 = Radiobutton(tk, text="十六进制", value=16, variable=r )
    lable1.place(x=0,y=0)
    r1.place(x=120,y=0)
    r2.place(x=200,y=0)
    r3.place(x=280,y=0)
    r4.place(x=360, y=0)
    lable2.place(x=0,y=30)
    shuru.place(x=120,y=30)
    enter.place(x=360,y=25)
    lable3.place(x=50,y=60)
    lable4.place(x=100,y=60)
    lable5.place(x=100, y=90)
    lable6.place(x=100, y=120)
    lable7.place(x=100, y=150)
     tk.mainloop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

noob_python

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

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

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

打赏作者

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

抵扣说明:

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

余额充值