pythonGUI实现进制转换代码
时间: 2023-08-31 15:10:26 浏览: 121
以下是一个简单的Python GUI程序实现进制转换:
```python
import tkinter as tk
class App:
def __init__(self, master):
self.master = master
self.master.title("进制转换器")
# 创建一个输入框
self.input_var = tk.StringVar()
self.input_entry = tk.Entry(self.master, textvariable=self.input_var)
self.input_entry.pack(pady=10)
# 创建三个按钮
self.dec_button = tk.Button(self.master, text="10进制", command=self.to_dec)
self.dec_button.pack(side=tk.LEFT, padx=10)
self.bin_button = tk.Button(self.master, text="2进制", command=self.to_bin)
self.bin_button.pack(side=tk.LEFT, padx=10)
self.hex_button = tk.Button(self.master, text="16进制", command=self.to_hex)
self.hex_button.pack(side=tk.LEFT, padx=10)
# 创建一个输出框
self.output_var = tk.StringVar()
self.output_label = tk.Label(self.master, textvariable=self.output_var)
self.output_label.pack(pady=10)
def to_dec(self):
# 将输入的字符串转换为10进制数
try:
dec_num = int(self.input_var.get(), base=0)
# 将转换后的10进制数显示在输出框中
self.output_var.set(str(dec_num))
except ValueError:
self.output_var.set("输入错误")
def to_bin(self):
# 将输入的字符串转换为10进制数,再将其转换为2进制数
try:
dec_num = int(self.input_var.get(), base=0)
bin_num = bin(dec_num)[2:]
# 将转换后的2进制数显示在输出框中
self.output_var.set(bin_num)
except ValueError:
self.output_var.set("输入错误")
def to_hex(self):
# 将输入的字符串转换为10进制数,再将其转换为16进制数
try:
dec_num = int(self.input_var.get(), base=0)
hex_num = hex(dec_num)[2:].upper()
# 将转换后的16进制数显示在输出框中
self.output_var.set(hex_num)
except ValueError:
self.output_var.set("输入错误")
root = tk.Tk()
app = App(root)
root.mainloop()
```
运行程序后,会显示一个带有一个输入框、三个按钮和一个输出框的窗口。用户可以在输入框中输入一个数字或一个字符串,然后点击不同的按钮,将其转换为10进制、2进制或16进制数,并显示在输出框中。如果输入的内容无法转换为数字,则会在输出框中显示“输入错误”。
阅读全文