hishop网站搬家,wordpress 最简洁主题,天津建站服务,山西教育学会网站建设大家好#xff0c;本文主要介绍使用tkinter获取本地文件夹、设置文本、创建按钮下拉框和对界面进行布局。
1.导入tkinter库
导入tkinter的库#xff0c;可以使用ttkbootstrap美化生成的界面
ttkbootstrap官网地址#xff1a;https://ttkbootstrap.readthedocs.io/en/late…大家好本文主要介绍使用tkinter获取本地文件夹、设置文本、创建按钮下拉框和对界面进行布局。
1.导入tkinter库
导入tkinter的库可以使用ttkbootstrap美化生成的界面
ttkbootstrap官网地址https://ttkbootstrap.readthedocs.io/en/latest/zh/styleguide/frame/
import tkinter as tk
from ttkbootstrap.constants import *
from tkinter.filedialog import askdirectory
from ttkbootstrap import Frame, Button, Label, Text, Entry, Combobox2.窗口属性
主要内容包括 根据设备屏幕的宽高自适应调整窗口的宽高 设置窗口打开的位置 设置窗口标题 创建图片保存地址、输入关键词、下载数量的变量 创建两个矩形区域包含组件
class BaiDuImageSpiderGUI:def __init__(self, win_width1000, win_height600):# 创建一个 tkinter 对象self.root tk.Tk()# 设置窗口的宽度和高度self.win_width win_widthself.win_height win_height# 设备屏幕的宽度和高度screen_width self.root.winfo_screenwidth()screen_height self.root.winfo_screenheight()# 设置窗口打开的xy位置x int((screen_width - win_width) / 2)y int((screen_height - win_height) / 2)# 窗口标题self.root.title(图片爬虫)self.root.geometry(%sx%s%s%s % (win_width, win_height, x, y))# 设置窗口宽高固定# self.root.resizable(None,None)# 设置窗口图标# root.iconbitmap(./image/icon.ico)# 下载数量self.download_num tk.StringVar()# 保存图片地址self.save_image_path tk.StringVar()# 关键词内容self.key_word tk.StringVar()# 第一个矩形区域self.frame_1 Frame(self.root)self.frame_1.pack()# 第一个矩形区域self.frame_2 Frame(self.root)self.frame_2.pack()3.按钮和输入框
主要内容包括 在第一个矩形框中绘制组件 用Label组件设置文本 用Button和askdirectory组件打开文件夹 用Entry组件绘制输入框 用Button组件绘制按钮 用Combobox组件绘制下拉框 用pack方法设置组件位置
def create_frame_1(self):# 图片保存地址image_path_label Label(self.frame_1, text图片保存地址)image_path_label.pack(sideLEFT, padx5, pady10)# 图片地址输入框image_path_entry Entry(self.frame_1, bootstyleSUCCESS, textvariableself.save_image_path)image_path_entry.pack(sideLEFT, padx5, pady10)# 路径选择按钮image_path_button Button(self.frame_1, text路径选择, bootstyleSUCCESS, commandself.save_path)image_path_button.pack(sideLEFT, padx5, pady10)# 关键字输入框key_word_label Label(self.frame_1, text图片内容)key_word_label.pack(sideLEFT, padx5, pady10)key_word_entry Entry(self.frame_1, bootstyleINFO, textvariableself.key_word)key_word_entry.pack(sideLEFT, padx5, pady10)# 下拉框描述combox_label Label(self.frame_1, text下载数量)combox_label.pack(sideLEFT, padx5, pady10)# 下拉框绑定到tinker专属的变量上combox Combobox(self.frame_1, bootstylePRIMARY, textvariableself.download_num)# 设置下拉框的值、权限、默认值combox[value] (10, 20, 30, 40, 50)# combox[state] readonlycombox.current(0)# 设置下拉框位置combox.pack(sideLEFT, padx5, pady10)# 按钮button Button(self.frame_1, text确定, bootstylePRIMARY, commandself.spider_main)button.pack(sideLEFT, padx5, pady10)4.文本输入框Text
在第二个矩形框中用Text绘制文本输入框将下载信息写入文本框
def create_frame_2(self):# # 文本框self.download_input_text Text(self.frame_2, widthself.win_width - 200, heightself.win_height - 200)self.download_input_text.pack(sideTOP, anchorCENTER, padx50, pady10)def save_path(self):path_ askdirectory()self.save_image_path.set(path_)def spider_main(self):passdef create_window(self):self.create_frame_1()self.create_frame_2()self.root.mainloop()5.运行
实例化BaiDuImageSpiderGUI()调用create_window()方法创建界面
if __name__ __main__:app BaiDuImageSpiderGUI()app.create_window()6.打包成exe文件
为了方便使用和运行使用pyinstaller工具打包为exe文件
pyinstaller -F -w -i sspython.ico image_spiderGUI.py