Python GUI设计-tkinter菜鸟编程,python标准gui库tkinter使用方法

  Python GUI设计:tkinter菜鸟编程,python标准gui库tkinter使用方法

  @(Python3中图形界面写的超文本传送协议测试工具代码支持正则表达式和XPATH)

  程序非常简单,暂时只支持得到方法,使用内置库图形界面编写图像使用者界面窗口,在苹果个人计算机下运行效果图如下,windows运行需要更改控件宽度高度等控制参数才能很好的显示。

  效果图(使用路径语言匹配房天下网站)

  代码如下,需要安装要求和什么是第三方库

  相关推荐: 《Python视频教程》

  app.py .

  importtkinterastk

  fromtkinterimportscrolledtext

  fromtkinterimportmessagebox

  进口

  导入请求

  fromlxmlimportetree

  classApplication(tk .框架):

  def__init__(self,master=None):

  超级()。__init__(主)

  self.master=主人

  self.pack()

  self.create_widgets()

  defcreate_widgets(self):

  #酒吧

  self.canvas=tk .Canvas(self,width=980,height=65,bg=#ebf4ec )

  self.image_file=tk .PhotoImage(file=network.png )

  自我。imag=self。画布。create _ image(50,0,anchor=n ,image=self.image_file)

  self.canvas.create_text(480,35,text=HTTP测试工具,font=(Arial ,35),)

  self.canvas.grid(row=0,columnspan=3)

  #方法超文本传送协议方法多选框

  self.var_method=tk .字符串变量(自我)

  self.var_method.set(GET )

  self.optionmenu=tk .OptionMenu(self,self.var_method, GET , POST , PUT , PATCH , DELETE ,选项)。网格(行=1,列=0,padx=2,pady=2,ipadx=10,ipady=5)

  nbsp;#url

  self.var_url=tk.StringVar(self)

  self.var_url.set('http://')

  self.url_entry=tk.Entry(self,font=('Arial',14),width=82,textvariable=self.var_url).grid(row=1,column=1,

  padx=1,pady=2,ipadx=10,ipady=5)

  #requestbutton

  self.request_button=tk.Button(self,text='发送请求',fg='#436EEE',command=self.request).grid(row=1,

  column=2,padx=2,pady=2,ipadx=10,ipady=5)

  #requestheader

  self.header_label=tk.Label(self,text='请求头:').grid(row=3,column=0,padx=2,pady=2,ipadx=10,ipady=5)

  self.var_header=tk.StringVar(self)

  self.var_header.set('Mozilla/5.0(Macintosh;IntelMacOSX10.12;rv:64.0)Gecko/20100101Firefox/64.0')

  self.header_entry=tk.Entry(self,font=('Arial',14),width=82,textvariable=self.var_header).grid(row=3,

  column=1,padx=2,pady=2,ipadx=10,ipady=5)

  #regularexpression

  self.re_header=tk.Label(self,text='正则表达式:').grid(row=4,column=0,padx=2,pady=2,ipadx=10,ipady=5)

  self.var_re=tk.StringVar(self)

  self.re_entry=tk.Entry(self,font=('Arial',14),width=82,textvariable=self.var_re).grid(row=4,column=1,

  padx=2,pady=2,ipadx=10,ipady=5)

  self.re_button=tk.Button(self,text='匹配全部',command=self.re_request).grid(row=4,column=2,padx=2,

  pady=2,ipadx=10,ipady=5)

  #xpath

  self.xpath_label=tk.Label(self,text='Xpath表达式:').grid(row=5,column=0,padx=2,pady=2,ipadx=10,ipady=5)

  self.var_xpath=tk.StringVar(self)

  self.xpath_entry=tk.Entry(self,font=('Arial',14),width=82,textvariable=self.var_xpath).grid(row=5,

  column=1,padx=2,pady=2,ipadx=10,ipady=5)

  self.xpath_button=tk.Button(self,text='匹配全部',command=self.xpath_request).grid(row=5,column=2,padx=2,

  pady=2,ipadx=10,ipady=5)

  #information

  self.var_status=tk.StringVar()

  self.var_status.set('当前状态:未请求')

  self.information=tk.Label(self,textvariable=self.var_status,bg='#48D1CC',font=('Arial',14)).grid(row=6,

  column=1,padx=2,pady=2,ipadx=10,ipady=5)

  #results

  self.textarea=tk.scrolledtext.ScrolledText(self,width=117,height=25,bg='black',fg='#00EE00',

  font=('Arial',14))

  self.textarea.grid(row=7,columnspan=3,pady=10)

  #xpath匹配

  defxpath_request(self):

  xpath=self.var_xpath.get()

  ifxpath=='':

  messagebox.showinfo('警告',message='请输入XPATH表达式!')

  else:

  url=self.var_url.get()

  header=self.var_header.get()

  headers={'User-Agent':header}

  data=requests.get(url=url,headers=headers).text

  results=etree.HTML(data).xpath(xpath)

  self.textarea.delete('1.0','end')

  foriinresults:

  self.textarea.insert('end',i.text+'n')

  #正则表达式匹配

  defre_request(self):

  exp=self.var_re.get()

  ifexp=='':

  messagebox.showinfo('警告',message='请输入正则表达式!')

  else:

  url=self.var_url.get()

  header=self.var_header.get()

  headers={'User-Agent':header}

  data=requests.get(url=url,headers=headers).text

  results=re.compile(exp).findall(data)

  self.textarea.delete('1.0','end')

  self.textarea.insert('end',results)

  defrequest(self):

  method=self.var_method.get()

  ifmethod=='GET':

  self.get_request()

  elifmethod=='POST':

  self.post_request()

  defpost_request(self):

  pass

  #还没写

  #发送HTTPGET请求

  defget_request(self):

  self.textarea.delete('1.0','end')

  ifself.var_header.get()=='':

  headers={'User-Agent':''}

  else:

  headers={'User-Agent':self.var_header.get()}

  url=self.var_url.get()

  data=requests.get(url=url,headers=headers)

  if(data.status_code==200):

  self.var_status.set('当前状态:'+'GET'+url+''+str(data.status_code)+'OK')

  elif(data.status_code==404):

  self.var_status.set('当前状态:'+str(data.status_code)+'Notfound')

  else:

  self.var_status.set('当前状态:'+str(data.status_code))

  content=data.text

  self.textarea.insert('end',content)

  if__name__=='__main__':

  root=tk.Tk()

  root.title('KKHTTP测试工具')

  root.geometry('980x700')

  app=Application(master=root)

  app.mainloop()

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: