基于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()