本文通过实例介绍Python的tkinter库的title、iconbitmap、geometry、attributes、grid等类的功能,并制作带有Laber标签、Entry文本框、Progressbar进度条、text日志框等元素的GUI操作界面。

首先定义一个GUI类

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("XX市XX区高层次人才信息搜索工具")  # 窗口名self.init_window_name.iconbitmap("./xiaoshan01_10x10.ico") #"./"表示根目录,后面是图标的文件名称self.init_window_name.geometry('700x465+300+200') # 700X465是主窗口的大小,300、200是主窗口左上角在屏幕上的起始位置self.init_window_name.attributes("-alpha", 1)   #透明度

设置标签属性:

self.progress_bar_label = Label(self.init_window_name, text="运行进度:")self.progress_bar_label.grid(row=3, column=0) #第3行(从0开始),第0列

设置logo图片属性:

self.logo_photo = PhotoImage(file=r"./baojiaokeji_logo.png") #此处要加r,应该表示相对路径,“./”表示当前目录self.logo_photo_label = Label(self.init_window_name, image=self.logo_photo)self.logo_photo_label.grid(row=0, column=4, rowspan=3, columnspan=1, sticky=W+E+N+S, padx=5, pady=5)
#rowspan指该元素纵跨3行,columnspan表示横跨1列

本文完整代码如下:

"""作者:windporl功能:实现GUI搜索(http://xsrc.xs.zj.cn)人才信息版本:6.0日期:9/2/2022版本说明:无
"""import requests
import xlwt
from tkinter import *
from tkinter.filedialog import askdirectory
import tkinter.messagebox
from tkinter import ttk
import time#初始化日志行
LOG_LINE_NUM = 0class 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("XX市XX区高层次人才信息搜索工具")  # 窗口名# self.init_window_name.iconbitmap("./xiaoshan01_10x10.ico")self.init_window_name.geometry('700x465+300+200')self.init_window_name.attributes("-alpha", 1)                #虚化,值越小虚化程度越高# 标签self.sta_num_label = Label(self.init_window_name, text="起始编号:")self.sta_num_label.grid(row=0, column=0)self.fin_num_label = Label(self.init_window_name, text="结束编号:")self.fin_num_label.grid(row=0, column=1)self.excel_path_label = Label(self.init_window_name, text="结果存放:")self.excel_path_label.grid(row=2, column=0)self.progress_bar_label = Label(self.init_window_name, text="运行进度:")self.progress_bar_label.grid(row=3, column=0)self.log_label = Label(self.init_window_name, text="运行日志:")self.log_label.grid(row=4, column=0)self.copyright_label = Label(self.init_window_name, text="Copyright © windporl from 宝椒科技")self.copyright_label.grid(row=6, column=0, columnspan=5, sticky=W+E+N+S, padx=5, pady=5)#logo图片# self.logo_photo = PhotoImage(file=r"./baojiaokeji_logo.png") #此处要加r,应该表示相对路径,“./”表示当前目录# self.logo_photo_label = Label(self.init_window_name, image=self.logo_photo)# self.logo_photo_label.grid(row=0, column=4, rowspan=3, columnspan=1, sticky=W+E+N+S, padx=5, pady=5)# 文本框self.sta_num_input_text = StringVar(self.init_window_name)self.sta_num_input = Entry(self.init_window_name, textvariable=self.sta_num_input_text, width=8)self.sta_num_input.grid(row=1, column=0)self.fin_num_input_text = StringVar(self.init_window_name)self.fin_num_input = Entry(self.init_window_name, textvariable=self.fin_num_input_text, width=8)self.fin_num_input.grid(row=1, column=1)self.excel_path_input_text = StringVar(self.init_window_name)self.excel_path_input = Entry(self.init_window_name, textvariable=self.excel_path_input_text, width=32)self.excel_path_input.grid(row=2, column=1,)# 进度条self.progress_bar = ttk.Progressbar(self.init_window_name)self.progress_bar.grid(row=3, column=1, columnspan=4, sticky=W+E+N+S, padx=5, pady=10)#length=560, cursor='spider', mode="determinate"# 日志框self.log_data_Text = Text(self.init_window_name, width=98, height=22)self.log_data_Text.grid(row=5, column=0, columnspan=5, sticky=W+E+N+S, padx=5)# 启动按钮# self.run_button = Button(self.init_window_name, text="启动\n搜索", bg="OrangeRed", width=4,command=self.search_info)  # 调用内部方法  加()为直接调用# self.run_button.grid(row=0, column=3, rowspan=3, columnspan=1, sticky=W+E+N+S, padx=5, pady=5)# 选择路径按钮# self.excel_path_button = Button(self.init_window_name, text="选择路径", bg="lightblue", height=1, command=self.select_path)# self.excel_path_button.grid(row=2, column=2)def main():init_window = Tk()              #实例化出一个父窗口XS_PORTAL = MY_GUI(init_window)# 设置根窗口默认属性XS_PORTAL.set_init_window()init_window.mainloop()          #父窗口进入事件循环,可以理解为保持窗口运行,否则界面不展示if __name__ == "__main__":main()

完整代码请进入资源下载:

https://download.csdn.net/download/windporl1986/79892242

该工具的最终运行效果如下图:

注:该工具虽是在公开的网站上抓取公开的公示信息,但仍包含部分个人信息,故截图中故意隐去。本段代码仅供程序语言学习、研究使用,其他用途,作者声明免责。

如有任何问题,欢迎私信交流。

Python使用tkinter库制作带有Laber标签、Entry文本框、Progressbar进度条、text日志框等元素的GUI操作界面相关推荐

  1. python通过Tkinter库实现的一个简单的文本编辑器源码

    下边资料是关于python通过Tkinter库实现的一个简单的文本编辑器的内容. from tkSimpleDialog import askstring from tkFileDialog impo ...

  2. 用python的tkinter库制作仿windows看图器

    本文原载于我的简书,简书界面干净,更偏向于简书一些,我的简书 最近在学习python,就用python自己写了一个仿windows的看图器,在网上搜发现找不到相关的代码,所以决定自己尝试做了一个.看图 ...

  3. python源码编译 带tkinter_python通过Tkinter库实现的一个简单的文本编辑器源码

    下边资料是关于python通过Tkinter库实现的一个简单的文本编辑器的内容. from tkSimpleDialog import askstring from tkFileDialog impo ...

  4. python的Tkinter库简单应用——开发一个简易计算器

    利用python的Tkinter库开发一个简易计算器 文章目录 利用python的Tkinter库开发一个简易计算器 前言 一.实验准备 二.开发步骤步骤 1.引入库 2.界面设计 3.关键--实现T ...

  5. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...

    使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...

  6. 异常:谷歌浏览器video标签播放视频不能拖动进度条

    谷歌浏览器video标签播放视频不能拖动进度条 当前端video的src不是直接使用视频文件的地址,而是通过后台下载接口返回文件流时,后台返回流因为没为response的header设置一些参数,会在 ...

  7. python用thinker库制作一个进制转换器(可打包exe)

    进制类型分为: 二进制 字母B表示 八进制 字母O表示 十进制 字母D表示 十六机制 字母H表示 进制转换之间很麻烦,还得计算,如果可以做一个进制转换器多nice,其实也不难,就利用一个tkinter ...

  8. python用turtle库制作实时钟表(可打包exe)

    实时钟表 源代码 打包exe 源代码 python引入两个内置库turtle和datetime即可制作一个实时钟表,代码如下: # 用turtle画时钟 # 以自定义shape的方式实现 import ...

  9. Python基于imageio库制作gif动图

    python安装第三方库imageio imageio 2.15.0 numpy 1.19.5 (1)命令行安装: pip install numpy== 1.19.5 pip install ima ...

最新文章

  1. [翻译]Json.NET API-Linq to Json Basic Operator(基本操作)
  2. Linux安装配置Java1.8开发环境
  3. 2019年校招8个大厂心得体会,纯干货分享(大疆、百度、阿里、腾讯...)
  4. abaqus结构工程分析及实例详解pdf_“结构非线性、材料拟合、冲击碰撞、钣金/金属成形、顺序耦合、多物理场、有/非参优化”专题...
  5. Robocode教程3——Robo机器剖析
  6. R count函数_【函数分享】PHP函数str_word_count()分享(202098)
  7. 49 html鼠标事件(在线测试)
  8. 《算法分析》——布线问题
  9. 网络安全从小白到专家
  10. Java程序员常用的快捷键有哪些?
  11. 解决mac可以聊QQ微信不能浏览网页问题
  12. Open api qps request limit reached
  13. 李宏毅学习笔记43.More about Domain Adaptation. Part II. Applications
  14. 为什么我不建议你轻易入上位机的“坑”?
  15. VMware版虚拟机怎么安装win7系统(详细教程)
  16. 比Everything更强的文件搜索工具,支持文件名、文件内容和文件图片上的文字搜索,文件内容搜索工具,文件图片内容搜索工具,OCR图片文本识别搜索,文件快速搜索工具,文字识别文件搜索工具
  17. 【算法学习】找素数的几种算法: 简单穷举, 埃氏筛法, 欧氏筛法, 从O(n2)到O(n)
  18. 后LHC时代对撞机:瞬间输出能量超全球电力千倍
  19. 离散数学:集合论的代数化样例
  20. 用代码加密,2种方法教你在C#中保护PPT文档

热门文章

  1. 电子科学与技术跨考计算机,关于跨考计算机的纠结
  2. 如何一步一步成为一个领域专家
  3. 微信、Uber、阴谋论和口袋罪
  4. Python中IO编程-文件读写
  5. Arduino + GP2D12红外测距传感器+LCD1602
  6. Python数据分析——matplotlib
  7. Notepad++ 安装 HexEditor 插件
  8. 崩坏3服务器维护2月8号,崩坏3 8月29日更新官方公告
  9. java get请求 数组_GET方式请求的url参数如果是数组,该形式/base/get?foo[]=barfoo[]=baz'报错......
  10. redhat8安装rpm提示package does not verify: no digest