先从tkinter的界面讲解吧!!!
初始界面:
'''tk界面的创建步骤:
第一步:创建最初始的[选择]界面,然后按下按钮,选择 帖子/贴吧
第二步:创建对应界面,布局好“贴吧名、页数范围、保存路径、(tid)”
————需要提及的是,1.新版ttk的scale滑动条很蛋疼,值都是小数不能设定,得手动绑定函数
2.按下“启动、终止”等按钮,其按钮界面发生的改变
3.[进度详情] 按钮以及界面的弹出/隐藏
第三步:创建对应的[进度详情]窗口(具体看类display_window())
第四步:设定好menu,返回上一层[选择]界面,删除所有痕迹
'''
class My_tk():
def __init__(self,tk):
self.root=tk
self.root.title('贴吧爬虫')
self.defaultpath=None #默认存放文件路径
#创建 初始的[选择]界面 有贴吧/帖子按钮(对应相应的创建界面方法)
self.choice_frame=Frame(self.root)
self.tieba_button=Button(self.choice_frame,text='爬取贴吧',command=self.show_tieba)
self.tiezi_button = Button(self.choice_frame,text='爬取帖子', command=self.show_tiezi)
self.choice_frame.pack()
self.tieba_button.pack(side=LEFT)
self.tiezi_button.pack(side=LEFT)
#创建菜单
self.creat_menu()
##====================选择爬取帖子/贴吧的命令(回调函数)==================##
def show_tieba(self):
#隐藏[选择] 界面,显示为爬取【贴吧】界面,创建【进度详情】窗口
self.Tid = False
self.choice_frame.pack_forget()#隐藏选择 界面
self.build_tieba_frame() #创建【贴吧】 界面
self.creat_show() #根据爬取的是帖子/贴吧,创建【进度详情】窗口
def show_tiezi(self):
# 隐藏[选择] 界面,显示为爬取【贴子】界面,创建【进度详情】窗口
self.Tid = True
self.choice_frame.pack_forget() # 隐藏选择 界面
self.build_tiezi_frame() # 创建【贴子】 界面
self.creat_show() #根据爬取的是帖子/贴吧,创建【进度详情】窗口
##====================选择爬取帖子/贴吧的命令(回调函数)==================##
##====================创建帖子/贴吧的界面==================##
def build_tieba_frame(self):
'''贴吧界面'''
self.tieba_frame=Frame(self.root,height=50, width=100)
self.tieba_frame.pack(expand=1)
#grid:贴吧名
tieba_label=Label(self.tieba_frame,text='贴吧名:')
self.tiebavar=StringVar()
tieba_name=Entry(self.tieba_frame,textvariable=self.tiebavar,width=22)
tieba_label.grid(row=0, column=0,sticky='we')
tieba_name.grid(row=0, column=1,columnspan=2)
#grid:贴吧页数
self.grid_pages(self.tieba_frame,20)
#grid:存放路径
self.grid_path(self.tieba_frame)
#grid:开始按钮等
self.grid_buttons(self.tieba_frame)
def build_tiezi_frame(self):
'''帖子界面
这个界面,每一层(行)都是用grid,但是第一层是4列(格),而第二层页数是3列,所以tid里面用pack布局'&