2、设计一个程序,该程序从一个文本框输入十进制数,使用一组单选按钮选择进制转换,有选项“Binary”,“Octa”,“Hex”,分别表示“二进制”,“八进制”,“十六进制”,在选择相应进制后,将结果并显示在一个标签中。
时间: 2023-12-27 19:02:10 浏览: 66
十进制数转换为二进制,八进制,十六进制数
4星 · 用户满意度95%
好的,以下是一个简单的程序实现:
```python
import tkinter as tk
class Converter:
def __init__(self, master):
self.master = master
master.title("进制转换器")
# 创建输入框
self.decimal_entry = tk.Entry(master)
self.decimal_entry.grid(row=0, column=0)
# 创建单选按钮
self.binary_rb = tk.Radiobutton(master, text="Binary", variable=self.var, value=2)
self.binary_rb.grid(row=1, column=0)
self.octal_rb = tk.Radiobutton(master, text="Octal", variable=self.var, value=8)
self.octal_rb.grid(row=1, column=1)
self.hex_rb = tk.Radiobutton(master, text="Hex", variable=self.var, value=16)
self.hex_rb.grid(row=1, column=2)
# 创建转换按钮
self.convert_btn = tk.Button(master, text="Convert", command=self.convert)
self.convert_btn.grid(row=2, column=0)
# 创建结果标签
self.result_label = tk.Label(master, text="")
self.result_label.grid(row=3, column=0)
# 初始化单选按钮变量
self.var = tk.IntVar()
self.var.set(2)
def convert(self):
decimal = int(self.decimal_entry.get())
base = self.var.get()
if base == 2:
result = bin(decimal)[2:]
elif base == 8:
result = oct(decimal)[2:]
elif base == 16:
result = hex(decimal)[2:].upper()
self.result_label.config(text=result)
root = tk.Tk()
my_converter = Converter(root)
root.mainloop()
```
运行程序后,会弹出一个窗口,其中有一个输入框、三个单选按钮和一个转换按钮。用户可以在输入框中输入一个十进制数,并选择要转换的进制。当用户点击转换按钮时,程序会根据用户的选择,将十进制数转换为相应的进制,并将结果显示在标签中。
注意:上述程序只是一个简单的示例,未对用户输入进行异常处理等。在实际应用中,需要对用户的输入进行错误处理。
阅读全文