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

  • 苹果13怎么设置电量百分比(苹果13怎么设置壁纸和锁屏)

    苹果13怎么设置电量百分比(苹果13怎么设置壁纸和锁屏)

  • 腾讯会议录屏怎么下载(腾讯会议录屏怎么分享给别人)

    腾讯会议录屏怎么下载(腾讯会议录屏怎么分享给别人)

  • wps删除整页怎么删(wps删除整页怎么删掉)

    wps删除整页怎么删(wps删除整页怎么删掉)

  • word文档里的表格怎么调整行距(word文档里的表格显示不完整怎么看)

    word文档里的表格怎么调整行距(word文档里的表格显示不完整怎么看)

  • 渲染比例什么意思(渲染比例是什么)

    渲染比例什么意思(渲染比例是什么)

  • nova5pro防水等级(华为nova5pro几级防水)

    nova5pro防水等级(华为nova5pro几级防水)

  • 苹果11听完语音屏幕不亮(苹果11听完语音后黑屏开不了)

    苹果11听完语音屏幕不亮(苹果11听完语音后黑屏开不了)

  • redmi8是什么手机(redmi8a是什么手机)

    redmi8是什么手机(redmi8a是什么手机)

  • 为什么评论了却看不到(为什么评论了却找不到)

    为什么评论了却看不到(为什么评论了却找不到)

  • 手机扬声器用针会戳坏吗(手机扬声器用针扎)

    手机扬声器用针会戳坏吗(手机扬声器用针扎)

  • a规屏幕指什么(手机屏幕a规是分什么标准的)

    a规屏幕指什么(手机屏幕a规是分什么标准的)

  • 为什么微信打电话时间长了,自己挂断(为什么微信打电话刷抖音对方会听见)

    为什么微信打电话时间长了,自己挂断(为什么微信打电话刷抖音对方会听见)

  • oppo reno屏幕分辨率(opporenoz屏幕分辨率)

    oppo reno屏幕分辨率(opporenoz屏幕分辨率)

  • 手机有话费为什么暂停服务(手机有话费为什么打不出电话)

    手机有话费为什么暂停服务(手机有话费为什么打不出电话)

  • 手机闪付怎么开通(手机闪付怎么付钱)

    手机闪付怎么开通(手机闪付怎么付钱)

  • iphone怎么更新运营商版本(iphone怎么更新运营商配置文件)

    iphone怎么更新运营商版本(iphone怎么更新运营商配置文件)

  • 华为mate30是5g吗(华为mate30属于5g手机吗)

    华为mate30是5g吗(华为mate30属于5g手机吗)

  • vivox27防水吗(vivox27手机防水吗,掉水里还能用吗)

    vivox27防水吗(vivox27手机防水吗,掉水里还能用吗)

  • 滴滴车主服务分怎么刷(滴滴车主服务分被扣6分后什么时候才可以消除)

    滴滴车主服务分怎么刷(滴滴车主服务分被扣6分后什么时候才可以消除)

  • 美图秀秀怎么删除日志(美图秀秀怎么删掉视频中的一段)

    美图秀秀怎么删除日志(美图秀秀怎么删掉视频中的一段)

  • 系统相册在哪里找(微信系统相册在哪里)

    系统相册在哪里找(微信系统相册在哪里)

  • 安卓手机如何打开.data文件(安卓手机如何打开.bin文件)

    安卓手机如何打开.data文件(安卓手机如何打开.bin文件)

  • 华为手机可以控制电视吗(华为手机可以控制小米电视吗)

    华为手机可以控制电视吗(华为手机可以控制小米电视吗)

  • 自定义序列(自定义序列可以通过什么来建立)

    自定义序列(自定义序列可以通过什么来建立)

  • Python极客项目编程 中文PDF完整版入门到精通(python极客项目编程 豆瓣)

    Python极客项目编程 中文PDF完整版入门到精通(python极客项目编程 豆瓣)

  • 建筑企业如何纳税
  • 委托加工物资贷方
  • 平台收取的佣金开具什么发票
  • 资源税有哪些减免规定
  • 支付结算办法主要内容
  • 将承兑汇票背书怎么操作
  • 管理费用和财务费用算营业成本吗
  • 退货或者销毁处理
  • 购货方非增值税一般纳税人
  • 固定资产增值税可以一次性抵扣吗
  • 资产负债表其他流动资产包括什么
  • 政府会计基本准则的附则有
  • 企业的管理人
  • 公司单独买医保
  • 普通硅酸盐水泥和矿渣硅酸盐水泥的区别
  • 如何区分境内所有银行卡
  • 个人销售比例用什么函数
  • 外包物流适用范围
  • 增值税专用发票校验码是哪个位置
  • 耕地占用税计入无形资产吗
  • vmware运行win10很卡怎么解决
  • kali linux安装kde桌面
  • win10数字雨
  • 为什么ie浏览器打开是2345浏览器
  • xp从做系统
  • 进销存账本怎么做
  • 合伙企业收到分红需要交所得税吗
  • win10系统损坏开不了机
  • 销售商品的会计分录已收到钱
  • 分公司开业开场白
  • php新版本特性
  • 应付职工薪酬的含义
  • vscode调试在哪
  • 小企业会计准则财务报表至少包括
  • 2022年终总结
  • 资本化过程
  • 增值税留抵税额退税政策
  • 申报完成后怎么处理
  • 综合所得个税计算例题
  • 转让不动产为什么能差额
  • 帝国cms自动推送插件
  • 限额领料单属于什么凭证多选题
  • 小规模城建税和教育费附加分录
  • MySQL中使用命令行查看二进制文件
  • MSSQL 2008 自动备份数据库的设置方法
  • 发票一般会失效几天
  • 营业外支出核算的内容
  • 出口样品视同销售如何做会计处理?
  • 土地出让金返还比例是多少
  • 财务报告分析主要内容
  • 清算资金往来借贷方什么意思
  • 印花税可以去地方申报吗
  • 收到合同预付款在账上怎么记
  • 应纳税额与应纳所得额
  • 资产负债表固定资产怎么填
  • 注册资金凭证怎么做
  • 转回存货跌价准备对递延所得税资产的影响
  • 违约金进项税额可否抵扣 分录
  • xp系统自带浏览器打不开网页
  • pe explorer
  • 苹果电脑mac系统键盘无法找到
  • macos 网速慢
  • 电脑windows8怎么样
  • win8.1技巧
  • g++编译debug
  • win8 应用商店
  • ExtJS4如何给同一个formpanel不同的url
  • 关于javascript事件响应的基础语法总结(必看篇)
  • unity 求角度
  • c# 抽象类的作用
  • shell数组遍历
  • r+python
  • jquery lazyload
  • javascript从入门到放弃
  • Unity3D游戏开发引擎
  • 走出JavaScript初学困境—js初学
  • java教程 视
  • 使用SQLite数据库保存和处理数据
  • 欢迎使用来电提醒业务是什么意思
  • 车船税收费标准表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设