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

  • 如何做好论坛发帖推广?(如何做好论坛发言稿)

    如何做好论坛发帖推广?(如何做好论坛发言稿)

  • 海尔滚筒洗衣机好吗(海尔滚筒洗衣机好吗)(海尔滚筒洗衣机洗涤剂盒怎么用)

    海尔滚筒洗衣机好吗(海尔滚筒洗衣机好吗)(海尔滚筒洗衣机洗涤剂盒怎么用)

  • 小度x8要一直充电才能使用吗(小度x8是不是要一直充电)

    小度x8要一直充电才能使用吗(小度x8是不是要一直充电)

  • 小米智能门锁怎么换电池(小米智能门锁怎么连接wifi)

    小米智能门锁怎么换电池(小米智能门锁怎么连接wifi)

  • 闲鱼禁言七天怎么恢复(闲鱼禁言七天怎么解封)

    闲鱼禁言七天怎么恢复(闲鱼禁言七天怎么解封)

  • 微型计算机中普遍使用的字符编码是什么吗(微型计算机中普遍使用的编码是)

    微型计算机中普遍使用的字符编码是什么吗(微型计算机中普遍使用的编码是)

  • 哔哩哔哩怎么@up主(哔哩哔哩怎么赚钱)

    哔哩哔哩怎么@up主(哔哩哔哩怎么赚钱)

  • 支付宝盒子红灯一直闪怎么回事(支付宝盒子红灯闪是什么意思)

    支付宝盒子红灯一直闪怎么回事(支付宝盒子红灯闪是什么意思)

  • 隐藏软件怎么恢复(隐藏软件怎么恢复到桌面)

    隐藏软件怎么恢复(隐藏软件怎么恢复到桌面)

  • 携程订票怎么取消套餐(携程订票怎么取消订单)

    携程订票怎么取消套餐(携程订票怎么取消订单)

  • 微信标签保存中为什么会保存失败(微信标签保存不成功)

    微信标签保存中为什么会保存失败(微信标签保存不成功)

  • iphonexr配置如何(iphonexr配置参数表)

    iphonexr配置如何(iphonexr配置参数表)

  • 智能音响只能插电用吗(智能音响只能插音响吗)

    智能音响只能插电用吗(智能音响只能插音响吗)

  • stftl10是华为啥型号(stf_al10华为什么型号)

    stftl10是华为啥型号(stf_al10华为什么型号)

  • 华为p30pro如何拍星空(华为p30pro如何拍星星)

    华为p30pro如何拍星空(华为p30pro如何拍星星)

  • 苹果4g运行内存相当于安卓多大(苹果4g运行内存和6g的区别)

    苹果4g运行内存相当于安卓多大(苹果4g运行内存和6g的区别)

  • vivo兼容模式怎么设置(vivo手机兼容性检测怎么设置)

    vivo兼容模式怎么设置(vivo手机兼容性检测怎么设置)

  • 拼多多里的免拼卡在哪里(拼多多里的免拼机会收到货了以后需要付款吗)

    拼多多里的免拼卡在哪里(拼多多里的免拼机会收到货了以后需要付款吗)

  • miui10快传在哪(miui10怎么打开小米快传)

    miui10快传在哪(miui10怎么打开小米快传)

  • p30录音功能在哪里(华为手机p30手机录音在哪里播放)

    p30录音功能在哪里(华为手机p30手机录音在哪里播放)

  • 站在河马身上的锤头鹳,津巴布韦马纳潭国家公园 (© David Fettes/Getty Images)(河马是站在睡觉吗)

    站在河马身上的锤头鹳,津巴布韦马纳潭国家公园 (© David Fettes/Getty Images)(河马是站在睡觉吗)

  • 季度所得税费用如何计提
  • 房产税的纳税义务人是房屋的产权所有人
  • 个人卖给公司车需要什么手续
  • 印花税科目会计分录
  • 什么叫简易税
  • 月薪3万个人所得税是多少
  • 季报需要注意什么
  • 所得税汇算清缴分录怎么做
  • 小规模未开票收入填在哪里
  • 去税务局作废申报需要带哪些证件
  • 企业所得税申报时间
  • 销售软件怎么做账
  • 差额开票如何入账
  • 在途物资的会计凭证怎么做
  • 登记多栏式日记总账的依据是
  • 以银行存款支付水电费
  • 建筑工程总包单位
  • 商品混凝土增值税政策
  • 招待费的住宿费
  • 建筑安装施工过程
  • 子公司的注册资金需要母公司股东出吗?
  • 银行有流水但是没有开票怎么做账
  • 内部调拨账务处理
  • 委托加工物资成本计入
  • linux怎么挂起
  • win11怎么调整任务栏位置
  • 合同资产和合同负债属于什么科目
  • 原材料退库怎么做凭证
  • 挂社保不发工资
  • 民间非盈利组织会计信息的使用者
  • php变量设置
  • win11任务管理器怎样调出
  • 默认网关不可用的解决办法
  • wrme.exe是什么
  • vnisedit 打包
  • 坏账损失税务处理
  • 善意取得虚开增值税专用发票处理
  • thinkphp input
  • 建筑业预缴的个人所得税怎么在申报表体现
  • 使用jquery的好处
  • discuz怎么用
  • 公积金提取条件资料
  • 小规模纳税人能开6%增值税专用发票吗
  • 退税没有退的部分怎么做账
  • 不需要开发票的现金收入怎么做内账?
  • 长期股权投资成本法
  • 交通运输企业有什么优惠政策
  • 小企业销售商品时,确认收入的标志有
  • 返利冲减销售收入还是进费用
  • 税务局的罚款记录怎么查
  • 一般纳税人增值税优惠政策2023
  • 以非现金资产清偿债务的方式下,债权人
  • 私人借款条怎么写合法
  • 应付账款账面价值怎么算
  • 外贸退税是算利润吗
  • 结构性存款怎么计算收益
  • 其他应付重分类到其他应收
  • 私营企业固定资产法律制度
  • sql的排序函数
  • windows故障
  • windows server 2008的技巧:防止ping的方法
  • Win7系统打开蓝牙
  • win8.1输入法打不了中文
  • win8 更改电脑设置
  • win7自带截图工具
  • linux服务器日志文件在哪里
  • perl处理特殊符号
  • 右键菜单中添加文字
  • html中滚动条
  • js如何将输入的数存到数组中
  • 关于javascript
  • 安卓开发
  • 批处理设置ip地址配置的dns
  • 一起学ap
  • linux的syslog配置
  • unity游戏换皮教程
  • 基于javascript的毕业设计
  • java教程csdn
  • python flask框架 web服务器
  • 跨区域提供建筑安装服务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设