使用python的tkinter库实现一个简易的大小写转换器

tkinter库:python的GUI库,可以实现图形化界面。

app功能: 将输入的文本全部转成小写或大写

实现:使用一个类来实现app,定义一个类UpLower, 具体实现如下:

一、__init__函数(构造函数)初始化, 初始化整个图形化界面。
1、创建窗口:

tk.TK() :创建应用程序的主窗口。

root.title():给窗口设置标题。

root.geometry():设置窗口的大小。

root.resizable():固定窗口大小。

2、创建输入框, 用来输入要转换的文本

tk.Label(): 是一个创建标签组件的类,主要用来显示文本或者图片。

tk.Entry(): 是一个输入框,可以输入文本。

.place() 方法用于绝对定位组件,x 参数指定组件左上角相对于其父容器左边缘的水平位置,而 y参数指定组件左上角相对于其父容器顶部的垂直位置, 相关布局方式还有grid()、pack()。

3、创建按钮,用来实现点击转换的功能

tk.Button(): 创建Button按钮组件。

command参数介绍:是用来绑定点击之后应该实现具体逻辑的(函数), 传参需要用lambda表达式。

4、创建文本框用来打印结果

tk.Text(): 创建文本框组件。

5、让整个窗口一直显示,并响应用户各种事件

root.mainloop() 是在使用 Python 的 tkinter 库创建图形用户界面(GUI)应用程序时使用的方法。这个方法启动了 Tkinter 的主事件循环,允许应用程序等待并响应用户的各种事件,如鼠标点击、按键、窗口关闭等。

二、功能函数的实现
1、大小写转换函数

分析:使用get()方法获取输入框中文本,并使用默认值1或0来判断是转大写还是转小写,如果是转大写,就调用upper()方法将文本转成大写,如果是转小写,就调用lower()方法将文本转成小写, 然后先清空文本框(防止追加),再将结果显示再文本框。

这里使用了tk.messagebox.showinfo()来提示用户输入内容(如果没输入内容的话)。

.Delet(): 用来清空内容,参数1表示开始,参数2表示结尾,1.0表示第一行的开始,tk.END表示结尾。

.Insert(): 用来插入文本,参数1表示插入位置, 参数2表示要插入的字符串。

2、清空函数的实现

点击清空之后,会将输入框和文本框中的内容全部清空。

三、将程序打包成可执行文件(.exe)
1、安装打包工具:pip  install pyinstaller

2、在python文件的目录下输入:pyinstaller -F -w app.py

说明:

pyinstaller:调用 PyInstaller 工具。

-F:创建一个单个可执行文件。这意味着所有的代码和资源都会被打包到一个单独的文件中。

-w:防止显示控制台窗口。这在创建 GUI 应用程序时很有用,因为用户不需要看到命令行界面。

app.py:指定要打包的 Python 脚本文件名。

 

3打包之后会出现builddist这两个文件夹, .exe文件就在dist文件下面。

将这两个文件夹放到一个文件夹下打包发给被人是可以用的,也可以创建桌面快捷方式。

四、效果图

五、源代码
import tkinter as tk
import tkinter.messagebox


class UpLower:
    def __init__(self):
        # 主窗口
        root = tk.Tk()
        root.title('大小写转换器v1.0')

        root.geometry("800x300")

        root.resizable(False, False)

        # 创建输入框
        self.entry_label = tk.Label(root, text="输入框: ")
        self.entry = tk.Entry(root, width=100)
        self.entry_label.place(x=0, y=0)
        self.entry.place(x=45, y=0)

        # 添加按钮
        self.btn_transition_upper = tk.Button(root, text="转大写", command=lambda: self.upper_lower(1))
        self.btn_transition_lower = tk.Button(root, text="转小写", command=lambda: self.upper_lower(0))
        self.btn_transition_clear = tk.Button(root, text="清空", command=self.clear)
        self.btn_transition_upper.place(x=120, y=50)
        self.btn_transition_lower.place(x=360, y=50)
        self.btn_transition_clear.place(x=600, y=50)

        # 输出文本框
        self.text_label = tk.Label(root, text="结果:")
        self.res_text = tk.Text(root, width=100, height=10)
        self.text_label.place(x=0, y=100)
        self.res_text.place(x=35, y=100)

        root.mainloop()

    # 大小写转换函数
    def upper_lower(self, flag):
        obj_str = self.entry.get()
        if obj_str == '':
            tk.messagebox.showinfo('提示', "请输入内容!")
            return
        res_str = obj_str.upper() if flag == 1 else obj_str.lower()
        self.res_text.delete(1.0, tk.END)  # 清除上一次显示的内容
        self.res_text.insert(tk.END, res_str)  # 显示结果

    # 清空函数
    def clear(self):
        self.entry.delete(0, tk.END)  # 清空输入框
        self.res_text.delete(1.0, tk.END)  # 清空文本框


if __name__ == '__main__':
    UpLower()
  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值