位置: IT常识 - 正文

Python如何使用tkinter编写GUI程序(python怎么用)

编辑:rootadmin

推荐整理分享Python如何使用tkinter编写GUI程序(python怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python怎么用,python的tk,python的tk,python的tk,python tr,python tle,python tle,python tr,内容如对您有帮助,希望把文章链接给更多的朋友!

@(Python3中tkinter写的HTTP测试工具代码支持正则表达式和XPATH)

Python如何使用tkinter编写GUI程序(python怎么用)

程序非常简单,暂时只支持GET方法,使用内置库tkinter编写GUI窗口,在Mac下运行效果图如下,windows运行需要更改控件宽度高度等控制参数才能很好的显示。

效果图(使用XPATH匹配房天下网站)

代码如下,需要安装requests和lxml第三方库

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

importtkinterastkfromtkinterimportscrolledtextfromtkinterimportmessageboximportreimportrequestsfromlxmlimportetreeclassApplication(tk.Frame):def__init__(self,master=None):super().__init__(master)self.master=masterself.pack()self.create_widgets()defcreate_widgets(self):#barself.canvas=tk.Canvas(self,width=980,height=65,bg='#ebf4ec')self.image_file=tk.PhotoImage(file='network.png')self.imag=self.canvas.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)#methodHTTP方法多选框self.var_method=tk.StringVar(self)self.var_method.set('GET')self.optionmenu=tk.OptionMenu(self,self.var_method,'GET','POST','PUT','PATCH','DELETE','HEAD','OPTIONS').grid(row=1,column=0,padx=2,pady=2,ipadx=10,ipady=5)#urlself.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)#requestbuttonself.request_button=tk.Button(self,text='发送请求',fg='#436EEE',command=self.request).grid(row=1,column=2,padx=2,pady=2,ipadx=10,ipady=5)#requestheaderself.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)#regularexpressionself.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)#xpathself.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)#informationself.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)#resultsself.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).textresults=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).textresults=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.textself.textarea.insert('end',content)if__name__=='__main__':root=tk.Tk()root.title('KKHTTP测试工具')root.geometry('980x700')app=Application(master=root)app.mainloop()
本文链接地址:https://www.jiuchutong.com/zhishi/313262.html 转载请保留说明!

上一篇:DedeCMS栏目二级域名设置教程(二级栏目怎么做)

下一篇:dedecms后台功能之自动摘要和分页介绍(dedecms建站操作)

  • 巧妙优化网站博客 让网站推广事半功倍(优化网站的技巧)

    巧妙优化网站博客 让网站推广事半功倍(优化网站的技巧)

  • mac笔记本怎么新建word文档(mac笔记本怎么更新版本)

    mac笔记本怎么新建word文档(mac笔记本怎么更新版本)

  • 荣耀30青春版和荣耀x10max有哪些区别(荣耀30青春版和荣耀30lite一样吗)

    荣耀30青春版和荣耀x10max有哪些区别(荣耀30青春版和荣耀30lite一样吗)

  • Word文档目录怎么设置(word文档目录怎么做)

    Word文档目录怎么设置(word文档目录怎么做)

  • 极速恢复精灵可以恢复微信聊天记录吗(极速恢复精灵可以恢复微信记录吗)

    极速恢复精灵可以恢复微信聊天记录吗(极速恢复精灵可以恢复微信记录吗)

  • 苹果怎么查看所有通话记录(苹果怎么查看所有订单)

    苹果怎么查看所有通话记录(苹果怎么查看所有订单)

  • 主板和显卡是可以随便搭的吗(主板和显卡是可以混用吗)

    主板和显卡是可以随便搭的吗(主板和显卡是可以混用吗)

  • 脉圈怎么实名认证(脉圈怎么赚钱)

    脉圈怎么实名认证(脉圈怎么赚钱)

  • 为什么图库里会无缘无故增加照片(为什么图库里会莫名出现图片)

    为什么图库里会无缘无故增加照片(为什么图库里会莫名出现图片)

  • mate30pro曲面屏耐摔吗(华为mate30pro5g曲面屏)

    mate30pro曲面屏耐摔吗(华为mate30pro5g曲面屏)

  • cad打开图纸不显示轴号(cad打开图纸不显示)

    cad打开图纸不显示轴号(cad打开图纸不显示)

  • 苹果手表开机显示英文(苹果手表开机显示)

    苹果手表开机显示英文(苹果手表开机显示)

  • 苹果11和xr的区别(苹果11和xr的区别 基带)

    苹果11和xr的区别(苹果11和xr的区别 基带)

  • 苹果蜂窝网络有什么用(苹果蜂窝网络有必要开吗)

    苹果蜂窝网络有什么用(苹果蜂窝网络有必要开吗)

  • 隔空投送为什么找不到联系人(隔空投送为什么用不了)

    隔空投送为什么找不到联系人(隔空投送为什么用不了)

  • 相机镜头分为哪几种(相机镜头分为哪两种)

    相机镜头分为哪几种(相机镜头分为哪两种)

  • 手机流量可以连接电视看吗(手机流量可以连接到电脑上用吗)

    手机流量可以连接电视看吗(手机流量可以连接到电脑上用吗)

  • 京东能否二次申请售后(京东能否二次申请保价)

    京东能否二次申请售后(京东能否二次申请保价)

  • 微信标签保存中为什么会保存失败(微信标签保存不成功)

    微信标签保存中为什么会保存失败(微信标签保存不成功)

  • ipad怎么接收普通短信(ipad怎么接收airdrop)

    ipad怎么接收普通短信(ipad怎么接收airdrop)

  • 苹果手机可以传软件吗(苹果手机可以传送软件吗)

    苹果手机可以传软件吗(苹果手机可以传送软件吗)

  • 信号发生器的使用方法(信号发生器的使用条件及范围)

    信号发生器的使用方法(信号发生器的使用条件及范围)

  • 微信群如何把群主偷换(微信群如何把群主转给别人)

    微信群如何把群主偷换(微信群如何把群主转给别人)

  • 空调分几匹(立式空调分几匹)

    空调分几匹(立式空调分几匹)

  • 合伙企业转让股权如何缴税
  • 降低个人税负什么意思
  • 固定资产变卖怎么开票
  • 办税人员绑定企业审核谁审核
  • 空调的折旧年限和残值率
  • 个人公积金计入什么会计科目
  • 行政单位利息收入是非税收入吗
  • 委托代征税务
  • 预售款计入收入吗
  • 应收账款周转率高好还是低好
  • 补交社保如何证明劳动关系
  • 开发项目未竣工前土地使用税怎么缴纳
  • 可转换债券存在的问题
  • 核定征收企业所得税应税所得率
  • 委托加工物资在初级第几章
  • 新会计准则规定资产如何入账
  • 反映留存收益的账户
  • 待处理财产损益期末结转到哪里
  • macbook怎么和ipad
  • Linux怎么使用Windows的软件
  • macos itunes
  • 应收账款和应付账款的管理
  • 股东年终利润分录怎么写
  • 核定征收的企业注销需要缴纳个人所得税吗
  • 租金收入会计分录怎么写
  • 工业会计成本核算读书笔记3000
  • 弥补以前年度亏损金额从哪里来的
  • 附加税退税申请理由模板
  • 二挡起步教程
  • python 命令行参数解析
  • 投资性房地产公允价值模式账务处理
  • mongodb document
  • 周转材料低值易耗品怎么结转
  • 固定资产的主要风险和关键控制点有哪些?
  • 预缴所得税亏损费用金额大会被监测到吗?
  • 又是客户又是供应商的舞弊行为
  • 出口资质证书
  • 免征增值税和增值税区别
  • 减值准备减少记哪方
  • 余利宝本金会亏吗
  • 公司员工机票可以抵扣多少呢
  • 存量资金上缴财政怎么做账
  • 特殊销售方式下销售额的确定
  • 企业注销时实收资本清算时要作资产处置收益交所得税吗
  • 管理费用收入缴纳增值税吗
  • 企业实缴各类税金的总额
  • 培训公司会计账务处理
  • 发票 发票专用章
  • 为什么规定视同销售?
  • 营改增人力资源服务
  • 购买金税盘的分录
  • 物流公司怎么做利润高
  • sqlserver删除数据语句
  • sql server中一个数据库可以有多个文件组
  • linux bin sbin
  • mysql5.7.23
  • Windows设置启动引导
  • 类似wps office的手机软件
  • kvm虚拟机运行方式
  • solaris 11.3
  • xp系统怎么取消用户登录
  • Red Hat Enterprise Linux AS4( 企业版4.0下载)
  • Ubuntu 14.10 “Utopic Unicorn”正式发布(附下载)
  • ubuntu怎么刷新桌面
  • .hpp是什么文件
  • windows8进入桌面
  • centos7启动卡在界面
  • win8怎么样的
  • win10系统局域网共享打印机设置
  • win10系统office2007每次打开都要配置
  • unity判断点击ui
  • http状态码一览表
  • node.js连接不上数据库
  • django应用开发实战
  • dom事件模型由什么组成
  • linux jhat
  • javascript基础
  • 深入python3
  • 国家税务总局全国增值税发票查验平台
  • 上海各区财政收入
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设