位置: 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建站操作)

  • ipad没有设备管理怎下载授权(ipad2019设备管理不见了)

    ipad没有设备管理怎下载授权(ipad2019设备管理不见了)

  • 微信挂圈有影响吗(微信挂圈有什么风险)

    微信挂圈有影响吗(微信挂圈有什么风险)

  • 微信好友显示账号异常(微信好友显示账号异常是怎么回事)

    微信好友显示账号异常(微信好友显示账号异常是怎么回事)

  • 苹果微信黑色主题怎么取消(苹果微信黑色主题)

    苹果微信黑色主题怎么取消(苹果微信黑色主题)

  • 小米手环4小爱同学怎么用不了(小米手环小爱同学请检查下网络设置)

    小米手环4小爱同学怎么用不了(小米手环小爱同学请检查下网络设置)

  • 手机用数据线连接电视怎么放电影(手机用数据线连接电视看视频)

    手机用数据线连接电视怎么放电影(手机用数据线连接电视看视频)

  • 小米摄像头自己转动是怎么回事(小米摄像头自己动)

    小米摄像头自己转动是怎么回事(小米摄像头自己动)

  • 抖音无法拍摄怎么设置(拍抖音无法拍摄是怎么回事)

    抖音无法拍摄怎么设置(拍抖音无法拍摄是怎么回事)

  • 关闭语音模式(关闭语音模式钉钉)

    关闭语音模式(关闭语音模式钉钉)

  • 微软和windows的关系(微软和windows10的关系)

    微软和windows的关系(微软和windows10的关系)

  • 通过支付宝收款码可以找到人吗(通过支付宝收款码能查到电话号码吗)

    通过支付宝收款码可以找到人吗(通过支付宝收款码能查到电话号码吗)

  • 电脑上聊天怎么艾特别人(电脑上聊天怎么发送)

    电脑上聊天怎么艾特别人(电脑上聊天怎么发送)

  • 亚马逊vps是什么意思(亚马逊vps是什么意思超级vps管理器)

    亚马逊vps是什么意思(亚马逊vps是什么意思超级vps管理器)

  • word怎么变成一页(word怎么变成一页 现在显示两页)

    word怎么变成一页(word怎么变成一页 现在显示两页)

  • 天猫精灵恢复出厂设置(天猫精灵恢复出厂设置失败)

    天猫精灵恢复出厂设置(天猫精灵恢复出厂设置失败)

  • 抖音怎么评论图片(抖音怎么评论图片不发作品)

    抖音怎么评论图片(抖音怎么评论图片不发作品)

  • 怎么把下载的软件移到sd(怎么把下载的软件删除干净)

    怎么把下载的软件移到sd(怎么把下载的软件删除干净)

  • 微信收款二维码怎么弄(微信收款二维码怎么保存到相册)

    微信收款二维码怎么弄(微信收款二维码怎么保存到相册)

  • 千兆级lte是5g吗(千兆级lte和5g关系)

    千兆级lte是5g吗(千兆级lte和5g关系)

  • 多态和重载的区别(多态和重载的区别并举例)

    多态和重载的区别(多态和重载的区别并举例)

  • 蚂蚁能量有什么用(蚂蚁能量什么时候偷最多)

    蚂蚁能量有什么用(蚂蚁能量什么时候偷最多)

  • 在脉脉中添加30个好友有多少影响力(脉脉如何使用)

    在脉脉中添加30个好友有多少影响力(脉脉如何使用)

  • string类的常用方法(string类的常用方法代码)

    string类的常用方法(string类的常用方法代码)

  • 快手怎样点亮红心(快手里面怎样点亮红心)

    快手怎样点亮红心(快手里面怎样点亮红心)

  • 高德地图怎么没有声音(高德地图怎么没有自定义路线)

    高德地图怎么没有声音(高德地图怎么没有自定义路线)

  • Python中实现Numpy数组遍历的两种方法(python3.4 numpy)

    Python中实现Numpy数组遍历的两种方法(python3.4 numpy)

  • 变更税务所怎么操作
  • 企业收入为0要报企业所得税吗
  • 发票确认平台勾选步骤
  • 高新技术企业分类
  • 调整增值税误差的原因
  • 怎么计算收益率
  • 收到客户银行按时到账
  • 咨询服务费记到什么科目
  • 企业交的社保是什么
  • 职工教育经费税前扣除标准2023年
  • 建筑业异地预缴税款怎么抵扣
  • 居民企业的判定条件
  • 电子发票已开出客户退款会计处理是怎样的?
  • 小规模企业核定征收
  • 纳税人不得汇总开具发票
  • 营业范围是销售范围吗
  • 资产总额和净资本的关系
  • 把u盘变成光盘模式
  • 捐赠固定资产入账价值
  • 环保税与排污费的联系
  • 汇算清缴中企业基础信息表
  • 入库材料未付款属于什么会计科目
  • ftp指什么
  • 前端打包发布
  • 白兰花的养殖方法和注意事项和病虫害
  • 房产开发企业交房产税吗
  • 不能错过的只有你下架了吗
  • 前端和后端到底是什么
  • php设计原则
  • 企业一次性取得所得税
  • 借银行卡给别人过账有什么风险
  • 公司员工的车加油可以开公司发票吗
  • 闭包 python
  • 论文如何学
  • js倒数
  • 应付票据是商业承兑汇票吗
  • 进料核销应调整哪些项目
  • 挂预收账款怎么处理
  • 累计增长率如何计算公式
  • 成立一般纳税人公司流程
  • 减免增值税计入营业外收入明细科目
  • 研发费用加计扣除新税收政策2023
  • 海关双抬头进口增值税发票如何抵扣
  • 公司如果不交社保会怎么样
  • 养老保险和工伤失业保险不在一个时间
  • 开办费企业所得税处理
  • 股东向公司借款多久必须归还
  • 预缴税款附加税享受优惠政策吗
  • 购房增值税发票是购房发票吗
  • 自然人系统如何恢复数据
  • 非税收入定额票据是什么
  • 支付销售途中运费怎么算
  • 集资建房有维修基金吗
  • 小型便利店靠什么进行营利
  • 利润所属科目
  • 惠普tpn-c126笔记本
  • qq远程协助点不动
  • vista sp2 旗舰版 key
  • wysafe.exe是什么
  • centos怎么设置密码
  • WIN10系统中软件打开找不到网络共享盘
  • win7资源管理器停止工作怎么办
  • centos运行程序
  • win10关闭defender方法
  • win10系统语言包安装方法
  • win7电脑曝光度过高怎么调
  • css样式表三种方式
  • css+div布局的常用方法
  • android平台搭建
  • python erf
  • 新版unity
  • 用javascript写简单网页
  • vue.js有什么用
  • jquery ajax后台返回list,前台用jquery遍历list的实现
  • html js怎么调用
  • javascript怎么学
  • 开票资料?
  • 2020年税务口号
  • 北京国家税务局总局官网
  • 企业分立需要开发票吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设