设计一个程序,该程序从一个文本框输入十进制数,使用一组单选按钮选择进制转换,有选项“Binary”,“Octa”,“Hex”,分别表示“二进制”,“八进制”,“十六进制”,在选择相应进制后,将结果并显示在一个标签中。
时间: 2023-09-27 07:06:01 浏览: 37
以下是一个基于Python Tkinter的简单实现:
```python
import tkinter as tk
def convert():
try:
num = int(entry.get())
if var.get() == 1:
result = bin(num)[2:]
elif var.get() == 2:
result = oct(num)[2:]
elif var.get() == 3:
result = hex(num)[2:].upper()
label.config(text=result)
except ValueError:
label.config(text="Invalid input")
root = tk.Tk()
root.title("Number Converter")
entry = tk.Entry(root)
entry.pack()
var = tk.IntVar()
rb1 = tk.Radiobutton(root, text="Binary", variable=var, value=1)
rb2 = tk.Radiobutton(root, text="Octa", variable=var, value=2)
rb3 = tk.Radiobutton(root, text="Hex", variable=var, value=3)
rb1.pack()
rb2.pack()
rb3.pack()
button = tk.Button(root, text="Convert", command=convert)
button.pack()
label = tk.Label(root)
label.pack()
root.mainloop()
```
该程序使用了Tkinter库来创建用户界面,包括一个文本框、一组单选按钮、一个“转换”按钮和一个标签。在单选按钮之间切换时,程序使用IntVar来跟踪所选选项。在转换按钮被按下时,程序尝试将输入解析为整数,并将其转换为所选选项的字符串表示形式。如果无法解析输入,则显示一个错误消息。