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

  • 迅雷自动续费怎么取消(迅雷自动续费怎么取消苹果)

    迅雷自动续费怎么取消(迅雷自动续费怎么取消苹果)

  • 苹果蓝牙耳机无线与有线的区别(苹果蓝牙耳机无线和有线区别)

    苹果蓝牙耳机无线与有线的区别(苹果蓝牙耳机无线和有线区别)

  • 此微博暂不支持变更可见范围(此微博暂不支持变更可见范围20173怎么办)

    此微博暂不支持变更可见范围(此微博暂不支持变更可见范围20173怎么办)

  • 苹果6与8外形的区别(苹果6和苹果8外形一样吗)

    苹果6与8外形的区别(苹果6和苹果8外形一样吗)

  • 抢票用4g和wifi哪个快(抢票时用wifi和流量哪个有延迟)

    抢票用4g和wifi哪个快(抢票时用wifi和流量哪个有延迟)

  • 电脑如何看电视(电脑如何看电视剧)

    电脑如何看电视(电脑如何看电视剧)

  • 美图秀秀可以ps图片吗(美图秀秀可以p双下巴吗)

    美图秀秀可以ps图片吗(美图秀秀可以p双下巴吗)

  • 苹果手表5代防水等级(苹果手表5防水等级)

    苹果手表5代防水等级(苹果手表5防水等级)

  • 苹果笔记本13.3寸多大(苹果笔记本13.3和15.4对比)

    苹果笔记本13.3寸多大(苹果笔记本13.3和15.4对比)

  • 苹果手机上网卡顿反应慢怎么办(苹果手机上网卡设为需复机号卡)

    苹果手机上网卡顿反应慢怎么办(苹果手机上网卡设为需复机号卡)

  • 手机晚上充电一晚对手机有影响吗(手机晚上充电一晚上会爆炸吗)

    手机晚上充电一晚对手机有影响吗(手机晚上充电一晚上会爆炸吗)

  • 微博私信怎么不显示已读未读(微博私信怎么不显示数字)

    微博私信怎么不显示已读未读(微博私信怎么不显示数字)

  • 查看qq历史绑定手机(查看qq以前绑定的qq)

    查看qq历史绑定手机(查看qq以前绑定的qq)

  • 乐心手环黑屏怎么办(乐心手环黑屏开不开机怎么办)

    乐心手环黑屏怎么办(乐心手环黑屏开不开机怎么办)

  • lra-al00是什么型号(rl0一al00是什么型号)

    lra-al00是什么型号(rl0一al00是什么型号)

  • 华为黑屏充电也没反应(华为黑屏充电也没反应无法强制开机)

    华为黑屏充电也没反应(华为黑屏充电也没反应无法强制开机)

  • 老年机为什么发不出去信息(老年机为什么发不出去短信信息)

    老年机为什么发不出去信息(老年机为什么发不出去短信信息)

  • 小米cc9e能放内存卡吗(小米cc9e可以插内存卡吗?)

    小米cc9e能放内存卡吗(小米cc9e可以插内存卡吗?)

  • 笔记本page down是什么键(笔记本上pagedown是哪个键)

    笔记本page down是什么键(笔记本上pagedown是哪个键)

  • 微信注销了还能注册吗(微信注销了还能再注册一个吗)

    微信注销了还能注册吗(微信注销了还能再注册一个吗)

  • dx什么意思(假面骑士dx什么意思)

    dx什么意思(假面骑士dx什么意思)

  • iphonexr几核(xr是几核的)

    iphonexr几核(xr是几核的)

  • 浏览网页属于internet所提供的什么服务(网页浏览属于internet应用吗)

    浏览网页属于internet所提供的什么服务(网页浏览属于internet应用吗)

  • nex什么时候上市的(nex新品)

    nex什么时候上市的(nex新品)

  • vivoz3i标准版有闪充吗(vivoz3i标准版有双系统吗?)

    vivoz3i标准版有闪充吗(vivoz3i标准版有双系统吗?)

  • vue项目系统兼容IE浏览器问题以及解决方案(vue怎么做兼容)

    vue项目系统兼容IE浏览器问题以及解决方案(vue怎么做兼容)

  • ChatGPT遭禁用、抵制后又停止Plus付费发生了?

    ChatGPT遭禁用、抵制后又停止Plus付费发生了?

  • HashMap面试相关(hashmap 面试)

    HashMap面试相关(hashmap 面试)

  • 加班费要计入个人账户吗
  • 外聘专家发生的差旅费
  • 补充养老保险补充医疗保险税前扣除比例
  • 应交城建税计入哪个科目
  • 发票冲红重开,重开时是按新税率还是旧税率
  • 税务季报利润表的本年累计可以更改吗
  • 加计抵减进项税转出需要调减吗
  • 房地产企业预缴土地增值税
  • 可转换可赎回债券
  • 收到发票未付款可以抵扣吗
  • 股东借款转实收资本需要什么附件
  • 公司结业清算后多久注销
  • 减少注册资本弥补亏损的依据
  • 补去年的税款怎么做账
  • 营改增后停车费税率
  • 面条适用的增值税率是
  • 建筑业会计实操视频教程
  • 用工会经费发放福利
  • 老版普通增值税发票还能用吗
  • 交强险是不是只要有发票就可以报销
  • 报销时可以一个人报销吗
  • 负债转为投资 资本增加吗
  • 库存商品售价
  • window11调节屏幕亮度
  • 局域网文件共享不稳定
  • 广告业年终总结
  • 银行承兑汇票和银行汇票的区别
  • 工会经费使用具体办法
  • 微软windows11正式版下载
  • 哪些资产类科目增加记贷方
  • php strtok
  • vue登录页面点击登录进入首页
  • yii2框架的优缺点
  • 出售无形资产计入
  • 费用冲账的会计分录
  • laravel5.2实现区分前后台用户登录的方法
  • 计算机视角技术
  • ts类型声明 要为某个文件里的变量声明吗
  • php xml转数组
  • 什么情况印花税
  • 餐厅的打包盒一般是多少毫升
  • 股权转让怎样能不交税 认缴
  • 不具备独立核算条件的行政单位
  • mongodb开启
  • 商铺转让费的会计分录
  • 企业建造的厂房属于固定成本吗
  • sqlserver修改数据库密码
  • mysql5.5创建用户
  • 哪些税计入税金及附加
  • 逾龄资产对企业的影响
  • 开发票给别人该如何收取税点?
  • 以前年度损益调整怎么做账
  • 企业取得财产转让收入
  • 工会经费包括年终奖吗
  • 折价购买股权账务处理
  • 未担保余值举例
  • 公司自己搭建的房子出租可以按投资性房地产吗
  • 社保缴纳的时候可以用吗
  • 投资收益期末余额在借方还是贷方
  • 营改增后建筑业税率变化情况
  • 会务费发票开普票还是专票
  • 汇算清缴资产总额全年季度平均值怎么算
  • vi修改文件
  • xp启动时间长
  • win7系统添加打印机没有USB端口选项
  • securecrt设置英文
  • Linux桌面环境安装
  • scureapp.exe - scureapp是什么进程 有什么用
  • isignup.exe是什么进程 isignup进程查询
  • win7网络连接不显示
  • win8鼠标速度怎么调
  • android viewpager
  • perl常用模块
  • node.js java 性能
  • Android之Notification
  • 事务所是干什么的会计
  • 收到123660的短信是什么意思
  • 吉林省工伤保险咨询电话
  • 强化管理定义
  • 哪些账本需要贴纸
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设