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

  • 云闪付怎么查看完整的银行卡号(云闪付怎么查看开户行)

    云闪付怎么查看完整的银行卡号(云闪付怎么查看开户行)

  • 蚂蚁花呗怎么提升额度(蚂蚁花呗怎么提现)

    蚂蚁花呗怎么提升额度(蚂蚁花呗怎么提现)

  • 微信收款为什么有时不积分(微信收款为什么要上传身份证)

    微信收款为什么有时不积分(微信收款为什么要上传身份证)

  • beatsx右边不响

    beatsx右边不响

  • 荣耀20pro几级防水(荣耀20防护等级)

    荣耀20pro几级防水(荣耀20防护等级)

  • 淘宝宝贝详情页在哪里(淘宝宝贝详情页一键生成软件)

    淘宝宝贝详情页在哪里(淘宝宝贝详情页一键生成软件)

  • oppo手机清除数据的时候也要密码怎么办(oppo手机清除数据后怎么恢复)

    oppo手机清除数据的时候也要密码怎么办(oppo手机清除数据后怎么恢复)

  • 手机一直发烫且耗电快(手机持续发烫)

    手机一直发烫且耗电快(手机持续发烫)

  • oppo更新系统后没有声音了(oppo更新系统后相机用不了)

    oppo更新系统后没有声音了(oppo更新系统后相机用不了)

  • 手机没有铃声怎么回事(手机没有铃声怎么设置)

    手机没有铃声怎么回事(手机没有铃声怎么设置)

  • 红米k20pro数据线类型(红米k20pro数据线多长)

    红米k20pro数据线类型(红米k20pro数据线多长)

  • 音箱线做电源线安全吗(音响线做电源线)

    音箱线做电源线安全吗(音响线做电源线)

  • iphone11镜头会刮花吗(iphone11镜头周围有划痕)

    iphone11镜头会刮花吗(iphone11镜头周围有划痕)

  • 等框宽栏分栏怎么设置(怎么等宽分栏)

    等框宽栏分栏怎么设置(怎么等宽分栏)

  • qq语音中闹钟会响吗(qq语音中闹钟会外放吗)

    qq语音中闹钟会响吗(qq语音中闹钟会外放吗)

  • opporeno3是什么时候上市的(opporeno3是什么时候上市的手机)

    opporeno3是什么时候上市的(opporeno3是什么时候上市的手机)

  • 手机怎么开启存储权限(手机怎么开启存储)

    手机怎么开启存储权限(手机怎么开启存储)

  • 哔咔漫画加载慢怎么解决(哔咔漫画太卡怎么解决)

    哔咔漫画加载慢怎么解决(哔咔漫画太卡怎么解决)

  • 抖音直播怎么关弹幕和礼物(抖音直播怎么关静音)

    抖音直播怎么关弹幕和礼物(抖音直播怎么关静音)

  • 知乎怎么解绑手机号(知乎怎么解绑手机号码绑定)

    知乎怎么解绑手机号(知乎怎么解绑手机号码绑定)

  • 荣耀20支持无线充电吗(荣耀20支持无线5G吗)

    荣耀20支持无线充电吗(荣耀20支持无线5G吗)

  • xmind在ipad中怎么换行(xmind怎么用平板)

    xmind在ipad中怎么换行(xmind怎么用平板)

  • 在网页中同时登录不同账号(一个网页账号在多个电脑登录)

    在网页中同时登录不同账号(一个网页账号在多个电脑登录)

  • 零基础JavaScript学习【完结篇】(零基础舞蹈培训)

    零基础JavaScript学习【完结篇】(零基础舞蹈培训)

  • c语言中局部变量是什么(c语言中局部变量和全局变量同名)

    c语言中局部变量是什么(c语言中局部变量和全局变量同名)

  • 分公司销售给总公司的印花税
  • 个人所得税是什么意思有什么用
  • 全面一次性奖金收入扣税标准
  • 本年利润是净利润还是利润总额
  • 薪金性支出包括什么
  • 个税专项扣除是什么时候开始实行
  • 水利建设基金2021
  • 查账征收企业所得税年度申报
  • 数字证书费
  • 跨年度所得税多怎么办
  • 商品条码续展费怎么退
  • 公司分期付款购车账务处理
  • 国际重复征税的类型及范围
  • 小型微利企业免税政策
  • Win10 Build 18363.1350/17763.1728累积更新补丁KB4598298正式推送
  • linux用在哪些方面
  • 软件测试费计入什么科目
  • win10一键释放内存
  • nuxt怎么用
  • h5跳转h5
  • 爱德华王子岛的气候
  • 资产负债表和利润表的认定
  • 学python真的好就业吗
  • php命令大全
  • 关于幼儿园国培的要求和建议
  • 购买办公用品进项税额可以抵扣吗
  • 保险费计入固定资产原值吗
  • python ide包括哪些
  • dedecms怎么改图片
  • 学电脑的网站
  • 将原生html改成vue
  • 进项税通俗易懂
  • 银行借记和贷记一样吗
  • 如何访问一台网络上的电脑
  • 接受捐赠要确认收入吗
  • 贴现的概念及计算公式
  • 已认证的红字发票怎么开
  • 材料估价入库发票收到如何记账
  • 设备租赁公司怎么样
  • 规模以上企业纳税要求
  • 加油站固定资产折旧方法
  • 汽车行业的保险返点怎么算
  • 商业医疗保险的缺点
  • 外账进销存单据是怎么弄的?
  • 清卡流程图
  • 管理费用怎么结转到本年利润未分配利润里了
  • 以前年度的银行手续费发票
  • 销售商品托收承付怎么确认收入
  • 一般户和基本户怎么使用最好
  • 外贸整个流程图
  • 商业企业库存商品
  • 在sqlserver2008中
  • xp系统中制作动画的软件
  • redhat网卡配置文件
  • xp光盘安装教程
  • 打开优酷视频播放
  • win8.1系统安装
  • win10系统共享打印机无法访问怎么解决
  • reg.exe是什么东西?
  • windows xp删除所有数据
  • xp系统如何更改开机启动项
  • 虚拟机安装centos7.9
  • Win10 Mobile 10586.306提前上手视频评测
  • win8控制面板怎么打开
  • window10删除自带输入法
  • python 读中文文件
  • jQuery实现别踩白块儿网页版小游戏
  • python自动截图
  • python登录网站爬取数据
  • nodejs连接mongodb副本集
  • nodejs操作mongodb
  • javascript中的函数包括内置函数和自定义函数
  • 怎么看网页的编码格式
  • python3 heapq
  • 国际货运怎么代理
  • 土地增值税税率表
  • 广东电子税务局财务报表在哪里查询
  • 山东潍坊昌邑房产网
  • 土地增值税清算管理规程
  • 零申报印花税的应税凭证名称怎么填写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设