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

  • 怎么把图片截成圆形(怎么把图片截成圆形醒图)

    怎么把图片截成圆形(怎么把图片截成圆形醒图)

  • 苹果太大的视频电脑不显示(ios视频太大怎么办)

    苹果太大的视频电脑不显示(ios视频太大怎么办)

  • 除了发消息怎么知道微信被删了(除了发消息怎么知道对方有没有删除自己)

    除了发消息怎么知道微信被删了(除了发消息怎么知道对方有没有删除自己)

  • 华为p20发热特别严重是怎么回事(华为p20发热特别慢)

    华为p20发热特别严重是怎么回事(华为p20发热特别慢)

  • 相册访问sd卡授权怎么开启(相册访问sd卡授权怎么删除照片)

    相册访问sd卡授权怎么开启(相册访问sd卡授权怎么删除照片)

  • 剪映是什么(剪映是什么意思,什么功能)

    剪映是什么(剪映是什么意思,什么功能)

  • wps图片怎么调整大小(wps图片怎么调整大小快捷键)

    wps图片怎么调整大小(wps图片怎么调整大小快捷键)

  • 淘宝是电商么(淘宝也是电商吗)

    淘宝是电商么(淘宝也是电商吗)

  • 微信摇一摇还能用吗(微信摇一摇还能不能用)

    微信摇一摇还能用吗(微信摇一摇还能不能用)

  • 微信被临时限制登录什么时候就正常能用了(微信被临时限制社交场景需要多久)

    微信被临时限制登录什么时候就正常能用了(微信被临时限制社交场景需要多久)

  • 如何辨别cpu是否开过盖(如何辨别cpu是否坏了)

    如何辨别cpu是否开过盖(如何辨别cpu是否坏了)

  • 三星wqhd是2k吗(三星 hd)

    三星wqhd是2k吗(三星 hd)

  • 微信加附近人没反应怎么办(微信加附近人没有提示)

    微信加附近人没反应怎么办(微信加附近人没有提示)

  • 路由器4a和4c的区别(路由器4a和4c的选哪个?)

    路由器4a和4c的区别(路由器4a和4c的选哪个?)

  • 苹果11来电话声音变小(苹果11来电话声音小怎么解决)

    苹果11来电话声音变小(苹果11来电话声音小怎么解决)

  • 两个抖音账号可以实名认证吗(两个抖音账号可以合并吗)

    两个抖音账号可以实名认证吗(两个抖音账号可以合并吗)

  • vivo手机能当遥控器吗(vivo手机能不能当电视遥控器)

    vivo手机能当遥控器吗(vivo手机能不能当电视遥控器)

  • vivox9有sos功能吗(vivo手机有sos功能吗)

    vivox9有sos功能吗(vivo手机有sos功能吗)

  • iphone11可以分屏吗(iphone 11能否分屏)

    iphone11可以分屏吗(iphone 11能否分屏)

  • 显卡1060和2060的区别(1060显卡和2060哪个好)

    显卡1060和2060的区别(1060显卡和2060哪个好)

  • 华为手机怎么开启定位功能(华为手机怎么开启无线充电功能)

    华为手机怎么开启定位功能(华为手机怎么开启无线充电功能)

  • 关于激活OS X Yosemite深色模式的方法介绍(关于激活函数的说法错误的是)

    关于激活OS X Yosemite深色模式的方法介绍(关于激活函数的说法错误的是)

  • 如何自定义win10通知中心的快捷按钮(如何自定义win10开机音乐)

    如何自定义win10通知中心的快捷按钮(如何自定义win10开机音乐)

  • 无形资产摊销的会计科目
  • 一般纳税人销售农产品增值税税率
  • 油费补贴计入什么科目
  • 企业销售不动产增值税政策
  • 物业采购主要做什么
  • 什么情况可以减免税收
  • 现金日记账是收付实现制吗
  • 不按出资比例取得分红怎么纳税?
  • 报销油费如何写摘要及会计分录怎么做?
  • 办理产权证费用明细
  • 土地使用税为什么不计入存货成本
  • 房地产开发企业预收款预缴增值税
  • 公司一季度报表一般是什么时候出
  • 财务报告报送与信息采集季报怎么填写
  • 个税申报已经申报如何更改
  • 怎么区分进和近
  • 以库存抵债的账务处理
  • 业委会是否要交税
  • 视同销售的企业所得税汇缴表怎么填列?
  • 原始凭证的审核内容
  • 融资租赁增值税优惠政策
  • 后裔王者荣耀台词大全
  • 报关单上的生产销售单位
  • MacOS X Yosemite升级后postgresql启动报错的解决办法
  • 冲红的会计分录
  • 收到退款发票的分录
  • linux命令行使用鼠标
  • 外单位承担
  • 高新技术企业在哪申报年报
  • 西班牙的藏红花好不好
  • mac phpstudy
  • vue3.0用法
  • 山东省项目
  • 华为od机试无法测用例
  • 小糖是谁
  • php发送http请求的常用方法分析
  • apache php mysql开发环境安装教程
  • 应收票据有利息收入吗
  • 员工出国公司要承担的责任
  • 企业办理土地证需要哪些资料和手续
  • 一般纳税人材料票是几个点
  • 非盈利组织捐赠物资收入账务处理流程
  • db2profile
  • sql 附加数据库
  • 税控盘有什么作用
  • 以前年度损益的科目代码
  • 佣金和其他费用
  • 发票融资贷款怎么做账
  • 废料进口报关
  • 预收账款开票怎么做账
  • 费用报销票据可以跨年吗
  • 认缴制下实收资本需要验资吗
  • 新成立的教育机构值得去吗
  • 党建经费可以购买什么
  • 购买公司分录怎么写
  • 会计年终决算怎么填写
  • supervisor.sock refused connection
  • Windows Server 2003环境更改Boot.ini文件
  • win8.1语言包下载
  • linux中nfs的配置
  • win7任务栏怎么全部显示出来
  • win7系统IE浏览器怎么去掉360导航
  • win10取消uac
  • linux安装glibc.i686
  • node分页接口
  • js原型面试题
  • arp绑定用户直接上网是什么意思
  • Node.js中的construct
  • 安卓开发viewpager的用法
  • linux的ftp命令
  • jquery 插件编写
  • 安卓怎么压缩
  • 如何判断python列表长度
  • 税务局上班吗今天
  • 进入杭州车辆怎么申请
  • 河南省国家税务局通用定额发票
  • 广东国税局发票查询系统
  • 四川社保每年几月份交费
  • 医务人员抗疫补助发放标准最新
  • 支付宝交税查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设