1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python使用tkinter库制作带有Laber标签 Entry文本框 Progressbar进度条 text日志框

Python使用tkinter库制作带有Laber标签 Entry文本框 Progressbar进度条 text日志框

时间:2020-03-12 00:26:22

相关推荐

Python使用tkinter库制作带有Laber标签 Entry文本框 Progressbar进度条 text日志框

本文通过实例介绍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.)人才信息版本:6.0日期:9/2/版本说明:无"""import requestsimport xlwtfrom tkinter import *from tkinter.filedialog import askdirectoryimport tkinter.messageboxfrom tkinter import ttkimport 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()

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

/download/windporl1986/79892242

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

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。