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

  • 退税收入如何做账
  • 分公司的企业所得税税率是多少
  • 无形资产加计扣除最新政策
  • 合并报表中怎么抵消投资性房地产
  • 报税时提示缺少相关组件怎么解决
  • 税款追征期起算点 增值税重新计算
  • 财政科技经费专项拨款的会计处理
  • 小规模纳税人多少免征增值税
  • 特殊销售方式下销售额的确定
  • 年底结账会计分录一定要做吗
  • 年终奖可以分几次发吗?
  • 商业折扣如何开发票
  • 个体工商户税务登记证需要什么资料
  • 境外取得收入要不要交企业所得税
  • 支出税费
  • 股权收购特殊性税务处理案例
  • linux常用的命令大全
  • 事业单位自筹基金有哪些
  • 专票 普票
  • 银行代扣的年费怎么退
  • 以太网默认网关怎么查看
  • 公租房租金收入免企业所得税吗
  • 股东变更需要哪些手续的法律规定
  • 海康工业相机彩色改黑白设置
  • 罗汉松的养殖方法剪枝视频
  • 公司房产税如何征收税率
  • php判断字符串是否存在
  • 【AIGC】6、Segment Anything | Meta 推出超强悍可分割一切的模型 SAM
  • vue的watch监听props
  • dematel模型有什么缺点
  • 废品损失科目的账户结构
  • 成品油发票是什么样的
  • 小规模年销售额500万界定标准
  • 固定资产处置收入增值税税率
  • ieee compel 2021
  • 给境外公司代扣代缴税款
  • 固定资产属于有形还是无形资产
  • 跨省市提供建筑服务
  • 长期待摊费用最低摊销年限
  • 发票金额是含税价还是不含税价
  • sqlserver如何使用
  • sqlserver数据库性能情况
  • sql server查询语句大全讲解
  • 个体工商户怎么年报
  • 在建工程待摊支出是什么意思
  • 其他应收款的账龄如何计算时间
  • 自然人扣缴客户端恢复数据
  • 电子承兑汇票是银行承兑汇票吗
  • 应收账款是指什么
  • 利息为什么存在
  • 权益法核算还计提减值么
  • 银行存款一直没有记账怎么调整
  • 水电费收据可以入公司帐吗
  • 各类奖金正确的排序
  • SQL函数substr使用简介
  • sqlserver 触发器 if 后边没执行
  • xp电脑启动项怎么设置启动项
  • vista正版破解
  • 简述linux系统有什么优点
  • win7开机黑屏只有鼠标安全模式也不行
  • WIN7系统如何恢复出厂系统
  • win8 系统设置
  • linux rsync同步命令(值得收藏)
  • Unity3D游戏开发pdf
  • nodejs cgi
  • jquery层级选择器
  • js函数里的函数怎么调用
  • javascript总结笔记
  • numpy使用心得
  • 手机 日常应用 单核 多核
  • javascript基础教程pdf下载
  • 蓝牙模块手机程序
  • python集合的基本操作
  • boost源码编译
  • 江西省国家税务局李德平
  • 周炜老婆是干什么的
  • 电子税务局怎么添加开票员
  • 个体户需要报个税的综合所得吗
  • 矿山占用荒山是什么意思
  • 业务竞赛经验分享
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设