py实战:使用python里的tkinter创建GUI小程序,进制转换器(高级循环版超详细),学会它你可以完全掌握tk,win,grid,for i in range,等等及自动清理转换后数字

(一)首先让我们来创建窗口基础,我相信这里大家都会

1,

import tkinter as tk
from tkinter import *
win = tk.Tk()
win.title("进制转换器 1.1")
win.geometry("800x200")
title = tk.Label(win,text="十进制到二进制的转换 \n-------------------------------------------------")
title.grid(row=0,column=1)
t1 = tk.Label(win,text="请插入数字")
t1.grid(row=1,column=0)

解释;
1.import tkinter as tk:导入Tkinter库并使用别名tk。
2.from tkinter import *:从Tkinter库中导入所有的模块,这样就可以直接使用Tkinter提供的各种功能。
3.win = tk.Tk():创建一个Tkinter窗口对象,并将其赋值给变量win。
4.win.title(“进制转换器 1.1”):设置窗口的标题为"进制转换器 1.1"。
5.win.geometry(“800x200”):设置窗口的大小为宽800像素、高200像素。
6.title = tk.Label(win,text=“十进制到二进制的转换 \n-------------------------------------------------”):创建一个标签对象title,用于显示标题信息。
7.title.grid(row=0,column=1):将标题标签放置在窗口的第0行、第1列的位置。
8.t1 = tk.Label(win,text=“请插入数字”):创建一个标签对象t1,用于提示用户插入数字。
9.t1.grid(row=1,column=0):将提示标签放置在窗口的第1行、第0列的位置。

(二)然后是需要转换的十进制数字输入窗口

text = tk.Entry(win,bd=5,width=15)
text.grid(row=2,column=0,sticky=W)

解释:
这段代码创建了一个文本输入框,并将其放置在GUI窗口中。下面是对代码的详细解释:

  1. text = tk.Entry(win, bd=5, width=15):创建了一个文本输入框对象text,并设置了边框宽度为5,宽度为15个字符。
  2. text.grid(row=2, column=0, sticky=W):将文本输入框放置在GUI窗口中的第2行、第0列的位置,并使用sticky=W参数指定对齐方式为西(左对齐)。

通过这段代码,用户可以在GUI窗口中输入要转换的十进制数字,输入框的宽度为15个字符,边框宽度为5,方便用户输入并进行转换操作。

bit_labels = []
bit_text_boxes = []

解释:
这两行代码创建了两个空列表bit_labelsbit_text_boxes,用于存储后续生成的标签和文本框对象。这些列表将用于在GUI窗口中显示二进制数字的每一位,以便用户查看和理解转换结果。

(三)第一个for循环,创建显示转换后的2进制文本框

代码中的两个for循环部分分别用于创建8个标签和8个文本框,用于显示二进制数字的每一位。

第一部分循环:

for i in range(7, -1, -1):
    label_text = "bit" + str(i)
    label = tk.Label(win, text=label_text)
    label.grid(row=3, column=9 - i)
    bit_labels.append(label)

在这个循环中,从7到0逆序循环,创建了8个Label对象,标签文本为"bit0"到"bit7",然后将这些标签依次放置在窗口中的不同列,以便显示每一位二进制数字的位置。

第二部分循环:

    text_box = tk.Text(win, bd=5, width=5, height=3)
    text_box.grid(row=2, column=9 - i, sticky=tk.W)
    bit_text_boxes.append(text_box)

在这个循环中,同样从7到0逆序循环,创建了8个Text对象,用于显示二进制数字的每一位。然后将这些文本框依次放置在窗口中的不同列,以便用户输入十进制数后,显示对应的二进制位。

(四)第二个for循环,小程序核心

def Click_Me():
    # 清空所有文本框
    for text_box in bit_text_boxes:
        text_box.delete(1.0, END)

    n = str(bin(int(text.get())))
    m = n.replace("0b", "")
    if len(m) <= 8:
        m = (8 - len(m)) * "0" + m
        for i in range(8):
            bit_text_boxes[i].insert(END, m[i])

这段代码使用Tkinter库创建了一个简单的GUI窗口,包括窗口标题、大小、标签等组件的设置。下面是对代码的详细解释:

  1. import tkinter as tk:导入Tkinter库并使用别名tk。
  2. from tkinter import *:从Tkinter库中导入所有的模块,这样就可以直接使用Tkinter提供的各种功能。
  3. win = tk.Tk():创建一个Tkinter窗口对象,并将其赋值给变量win
  4. win.title("进制转换器 1.1"):设置窗口的标题为"进制转换器 1.1"。
  5. win.geometry("800x200"):设置窗口的大小为宽800像素、高200像素。
  6. title = tk.Label(win,text="十进制到二进制的转换 \n-------------------------------------------------"):创建一个标签对象title,用于显示标题信息。
  7. title.grid(row=0,column=1):将标题标签放置在窗口的第0行、第1列的位置。
  8. t1 = tk.Label(win,text="请插入数字"):创建一个标签对象t1,用于提示用户插入数字。
  9. t1.grid(row=1,column=0):将提示标签放置在窗口的第1行、第0列的位置。

(五)创建运行按钮

butt = tk.Button(win,text="Click Me",command=Click_Me)
butt.grid(row=2,column=1,sticky=W)


win.mainloop()
  • 37
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值