python 图形界面文本处理_python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)...

更新:

2017.07.17  补充滚动条、win批处理拉起py

2017.08.13  新增自定义图标

一、背景:

1.工作中自己及同事在查数据库、测试接口时需要对一些字符串或json串作预处理,目前这些问题网上均有在线转换的工具,但很繁杂,可能需要打开几个网页窗口;

2.之前做的文本处理工具是基于cmd命令行的,不太友好;

3.自己做的一些小工具也基本都是命令行执行的,也想接触下GUI;

基于以上,了解到python自带的tkinter库可以初步满足UI的需求,业余时间做了个图形化工具,涉及窗口、文本、按钮、标签、菜单、菜单树、滚动条、文件处理、界面布局等;

下文将梳理从零到完成的全过程,作为自己GUI学习的一个总结;

ps:后面版本间隙有时间的话想试试用pyQt来做。。tkinter做出的界面确实。。。23333

工具界面截图:

141161357_1_20180812081047850.png

二、实现

1.安装所需要的库 ps:环境是win7+python 3.6,tkinter是py的标准库,即:如不涉及EXCEL处理,可跳过此步骤;使用python处理Excel表格,后面有时间会单独整理

(1)et-xmlfile  openpyxl安装需要依赖,工具里有涉及处理EXCEL(xlsx),需要用到openpyxl库;

(2)jdcal    同上

(3)openpyxl  处理EXCEL(xlsx)

(4)xlrd     读取EXCEL(xls)

(5)xlwt     写入EXCEL(xls)

(6)xltils    配合上面两个库对已存在表格进行修改

2.新建父窗口(可理解为界面的最底层)

#################################################################

#author: 陈月白

#_blogs: http://www.cnblogs.com/chenyuebai/

#################################################################

from tkinter import *

def gui_start():

init_window = Tk() #实例化出一个父窗口

init_window.mainloop() #父窗口进入事件循环,可以理解为保持窗口运行,否则界面不展示

gui_start()

运行结果:

141161357_2_20180812081048303.png

- - - - - - - - - - - -- - - - - - - - - - - -- - - - - - - - - - - -- - - - - - - - - - - -

运行会弹出上图所示的空白窗口,这里我们还可以修改窗口默认大小、默认弹出位置、窗口名、父窗口颜色、虚化等等;

init_window.title("文本处理工具 by: 陈月白")

init_window.geometry('290x160+10+10') #290 160为窗口大小,+10 +10 定义窗口弹出时的默认展示位置

init_window["bg"] = "pink" #窗口背景色,其他背景色见:blog.csdn.net/chl0000/article/details/7657887

init_window.attributes("-alpha",0.8) #虚化 值越小虚化程度越高

注意要加在 init_window.mainloop() 之前;

运行结果:

141161357_3_20180812081048381.png

整理下代码:

#################################################################

#author: 陈月白

#_blogs: http://www.cnblogs.com/chenyuebai/

#################################################################

from tkinter import *import hashlib

class MY_GUI():

def __init__(self,init_window_name):

self.init_window_name = init_window_name

#设置窗口

def set_init_window(self):

self.init_window_name.title("文本处理工具_v1.2 by: 陈月白") #窗口名

self.init_window_name.geometry('1068x680+10+10') #290 160为窗口大小,+10 +10 定义窗口弹出时的默认展示位置

self.init_window_name["bg"] = "pink" #窗口背景色

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值