python制作进制转换器
【摘要】 进制类型分为:二进制 字母B表示八进制 字母O表示十进制 字母D表示十六机制 字母H表示进制转换之间很麻烦,还得计算,如果可以做一个进制转换器多nice,其实也不难,就利用一个tkinter库就能制作,废话不多说,直接开搞。@TOC 源代码以及注释import tkinter as tk # 导入tkinter库设置别名tkroot = tk.Tk() # 生成主窗口root.tit...
进制类型分为:
二进制 字母B表示
八进制 字母O表示
十进制 字母D表示
十六机制 字母H表示
进制转换之间很麻烦,还得计算,如果可以做一个进制转换器多nice,其实也不难,就利用一个tkinter库就能制作,废话不多说,直接开搞。
@TOC
源代码以及注释
import tkinter as tk # 导入tkinter库设置别名tk
root = tk.Tk() # 生成主窗口
root.title('进制转换器') # 设置窗体名字
root.geometry('400x250') # 设置窗体大小
# text设置按钮的文本内容,并设置组件的横,纵坐标
tk.Label(root, text='十进制数 \t').place(x=50, y=20)
tk.Label(root, text='二进制数 \t').place(x=50, y=50)
tk.Label(root, text='八进制数 \t').place(x=50, y=80)
tk.Label(root, text='十六进制数\t').place(x=50, y=110)
# Entry用于收集键盘输入并设置宽度,和组件的横,纵坐标
w = tk.Entry(root, width=20)
w.place(x=180, y=20)
obj = tk.StringVar()
obj1 = tk.StringVar()
obj2 = tk.StringVar()
# 定义一个计算进制的函数
def calculation():
s = int(w.get())
h = bin(s)
o = oct(s)
b = hex(s)
obj.set(h)
obj1.set(o)
obj2.set(b)
# Label用于显示文字或者是图片(width宽度,height高度bg颜色 textvariable是关联对象,控制组件文本发生更改时跟着改变
tk.Label(root, width=20, height=1, bg='white', textvariable=obj).place(x=180, y=50)
tk.Label(root, width=20, height=1, bg='white', textvariable=obj1).place(x=180, y=80)
tk.Label(root, width=20, height=1, bg='white', textvariable=obj2).place(x=180, y=110)
# 创建一个按钮
tk.Button(root, text='转换', width=15, height=2, command=calculation).place(x=140, y=180)
# 显示主窗口
root.mainloop()
用pyinstaller打包exe
用pyinstaller打包文件为exe,即使在没有编译环境的情况下也可以运行,这里打包教程就不做介绍了,详情看我的这篇博客python利用pyinstaller打包exe详细教程
打包完效果图如下:
tkinter库常用参数
参数 | 含义 |
---|---|
root = TK() | 生成主窗口 |
root.geometry(‘450x250’) | 修改窗体大小(宽x高) |
root.geometry(’+450+250’) | 修改窗体位置(+横坐标+纵坐标) |
root.title() | 修改窗体的名字 |
root.mainloop() | 显示主窗口 |
place()
参数 | 含义 |
---|---|
x | 组件左上角的横坐标 |
y | 组件左上角的纵坐标 |
width | 组件的宽度 |
height | 组件的高度 |
Entry()
参数 | 含义 |
---|---|
width | 设置文本框宽度 |
bg | 设置背景色 |
font | 设置字体的样式和大小 |
textvariable | 关联一个 Tkinter variable 对象, 通常为 StringVar 对象. 控制文本在该对象更改时跟着改变. |
💖以上就是用thinker库制作一个进制转换器并打包exe的教程,如果有改进的建议欢迎在评论区留言奥~
欢迎各位来访,一起交流学习python🥳
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)