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

  • 音频服务未运行无法启动怎么解决(音频服务未运行怎么办)(音频服务未运行win7)

    音频服务未运行无法启动怎么解决(音频服务未运行怎么办)(音频服务未运行win7)

  • 红米怎么设置勿扰模式(红米怎么设置勿扰模式接听某个联系人)

    红米怎么设置勿扰模式(红米怎么设置勿扰模式接听某个联系人)

  • win10不激活影响使用吗(win10不激活影响电脑速度吗)

    win10不激活影响使用吗(win10不激活影响电脑速度吗)

  • 苹果左上角时间变蓝色(苹果左上角时间绿色是什么意思)

    苹果左上角时间变蓝色(苹果左上角时间绿色是什么意思)

  • 简述缩放视图的几种方法(简述缩放视图的操作方法)

    简述缩放视图的几种方法(简述缩放视图的操作方法)

  • 抖音如何屏蔽不想看的(抖音如何屏蔽不喜欢的内容)

    抖音如何屏蔽不想看的(抖音如何屏蔽不喜欢的内容)

  • 手机老是黑屏一闪一闪(手机老是黑屏一下又亮怎么办呢)

    手机老是黑屏一闪一闪(手机老是黑屏一下又亮怎么办呢)

  • 剪映怎么给视频调色(剪映怎么给视频配文字)

    剪映怎么给视频调色(剪映怎么给视频配文字)

  • qq加好友频繁了怎么解除(QQ加好友频繁了多久恢复)

    qq加好友频繁了怎么解除(QQ加好友频繁了多久恢复)

  • 华为荣耀8c怎么隐藏应用(华为荣耀8c怎么升级鸿蒙系统)

    华为荣耀8c怎么隐藏应用(华为荣耀8c怎么升级鸿蒙系统)

  • 二级路由能减轻路由器压力吗(二级路由能减轻一级路由)

    二级路由能减轻路由器压力吗(二级路由能减轻一级路由)

  • 华为nova6支不支持nfc(华为nova 6支持nfc吗)

    华为nova6支不支持nfc(华为nova 6支持nfc吗)

  • 开通情侣空间会自动特别关心吗(开通情侣空间会送什么礼物)

    开通情侣空间会自动特别关心吗(开通情侣空间会送什么礼物)

  • wifi显示网络拒绝接入是什么意思(wifi显示网络拒绝加入网络怎么办)

    wifi显示网络拒绝接入是什么意思(wifi显示网络拒绝加入网络怎么办)

  • 卖了天猫积分对淘宝号有影响吗(天猫积分卖钱)

    卖了天猫积分对淘宝号有影响吗(天猫积分卖钱)

  • 华为曲面屏容易摔碎吗(华为曲面屏容易误触吗)

    华为曲面屏容易摔碎吗(华为曲面屏容易误触吗)

  • 为什么微信点头像会抖(为什么微信点头像会抖动)

    为什么微信点头像会抖(为什么微信点头像会抖动)

  • 苹果蓝牙键盘连不上(苹果蓝牙键盘连接失败)

    苹果蓝牙键盘连不上(苹果蓝牙键盘连接失败)

  • 完美解决 Compiled with problems: × ERROR Cannot read properties of undefined (readin(完美解决usb电涌15秒后关机)

    完美解决 Compiled with problems: × ERROR Cannot read properties of undefined (readin(完美解决usb电涌15秒后关机)

  • debian 9.4 安装教程 linux系统debian9.4图文详细安装步骤(debian10.9安装教程)

    debian 9.4 安装教程 linux系统debian9.4图文详细安装步骤(debian10.9安装教程)

  • win10电脑时间总是不对(win10电脑时间改了又跳回去)

    win10电脑时间总是不对(win10电脑时间改了又跳回去)

  • html常用font-family设置字体样式(HTML常用的表单控件有哪些)

    html常用font-family设置字体样式(HTML常用的表单控件有哪些)

  • 金税盘版开票软件怎么升级
  • 公司垫付生育津贴凭证
  • 企业运输没有发票
  • 现金流量为负的隐患
  • 租了房子再转租
  • 长期借款会计科目编码
  • 按应收账款余额计提坏账准备的会计分录
  • 汇兑损益需要缴税吗
  • 以前漏记的成本怎么处理
  • 分期手术
  • 进口增值税已付发票未到如何入账
  • 自然人股权转让要交什么税
  • 小规模纳税人未开票收入填在哪里
  • 建安业核定征收利润率
  • 简易征收税率都包括什么
  • 房改房继承需要原单位开证明吗
  • 代开专票需要去报税吗?
  • 无票收入有哪些情况抖音
  • 建筑业在外地预缴的所得税能退吗
  • 小企业会计准则和企业会计准则的区别
  • 企业所得税视同销售的捐赠扣除
  • 出售废旧物资可以开专票吗
  • 出口运保佣账务处理
  • 上年度退回来的所得税,怎么做分录
  • 一般纳税人交税标准是多少
  • 境外取得收入要不要交企业所得税
  • 资源税改革最新政策
  • Win7系统Syswow64文件夹是什么及能否删除的相关内
  • 发生利息收入的分录
  • win11咋截屏
  • php数组去重函数
  • 售后回购方式销售商品如何确认收入
  • thinkphp exec
  • 海岸边上
  • 基于Python实现五大常用分类算法(原理+代码)
  • 营改增抵减的销项税发票要抵扣吗
  • 子公司注销母子关系流程
  • 面试学弟学妹问题
  • 全网最详细的李白解说来了
  • 红字申请表开错了怎么办
  • 企业收到发票后怎么入账
  • 融资租入固定资产的入账价值
  • 已缴款未入库是缴费成功了吗
  • 进料加工保税是什么意思
  • 应收票据和其他应收款的区别
  • sql server必知必会
  • 销项发票属于哪个科目
  • 办外经证需要交税吗
  • 离线发票累计金额为0
  • 待抵扣进项税额分录
  • 外资企业股权转让给内资企业流程
  • 出口货物退货流程
  • 预缴的附加税月末结转吗
  • 免征增值税还要计提附加税吗
  • 捐赠支出算费用吗
  • 违约金进项税额可否抵扣 分录
  • 应交税费对应的会计科目
  • 谈一谈有关阅读的
  • fedora update-grub
  • 硬盘安装ubuntu18
  • windows7的关闭方法
  • 远程桌面的文件怎么无法复制到本地桌面
  • linux启动u盘制作
  • 如何使用朋友的山姆卡
  • win8桌面不显示
  • linux更改
  • linux的虚拟终端有几个
  • Windows命令行删除文件夹
  • nginx react
  • JavaScript中的变量名不区分大小写
  • 命令行net
  • unity如何连接数据库
  • JavaScript中的数据类型分为两大类
  • javascript制作小程序
  • 如何将文件夹导入idea
  • 划拨土地转让需要交什么税
  • 山东省地方税务局印花税核定征收管理办法
  • 郑东新区社保局电话号码是多少
  • 国家实行什么制度鼓励电力用户合理调整用电负荷
  • 监理费合同按什么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设