做网站有虚拟服务器,在线购物网站开发项目,wordpress重定向循环,wp 企业网站模板✨✨ 欢迎大家来到景天科技苑✨✨
#x1f388;#x1f388; 养成好习惯#xff0c;先赞后看哦~#x1f388;#x1f388; #x1f3c6; 作者简介#xff1a;景天科技苑 #x1f3c6;《头衔》#xff1a;大厂架构师#xff0c;华为云开发者社区专家博主#xff0c;…
✨✨ 欢迎大家来到景天科技苑✨✨ 养成好习惯先赞后看哦~ 作者简介景天科技苑 《头衔》大厂架构师华为云开发者社区专家博主阿里云开发者社区专家博主CSDN全栈领域优质创作者掘金优秀博主51CTO博客专家等。 《博客》Python全栈前后端开发小程序开发人工智能js逆向App逆向网络系统安全数据分析Djangofastapiflask等框架linuxshell脚本等实操经验网站搭建数据库等分享。 所属的专栏python图形化GUI编程tkinter精讲 景天的主页景天科技苑 文章目录 1.tkinter 主窗口测试 tkinter 主窗口位置和大小的设置 2.python GUI 编程整体描述3.tkinter常用组件汇总列表4.GUI 应用程序类的经典写法标准的面向对象 GUI 程序类的写法 5.Label 组件Label标签的用法实战 1.tkinter 主窗口
主窗口位置和大小 通过 geometry(‘wxh±x±y’)进行设置。w 为宽度h 为高度。x 表示距屏幕左边的距离 -x 表示距屏幕右边的距离y 表示距屏幕上边的距离-y 表示距屏幕下边的距离。单位是像素 前两个参数表示的是创建窗口的大小而且一定要用x小写的x表示否则会报错TclError: bad geometry specifier “400*300100100”初学者一定要注意
测试 tkinter 主窗口位置和大小的设置
from tkinter import *
root Tk()
#title设置窗口的主题
root.title(测试主窗口的位置和大小)
#geometry(‘wxh±x±y’)进行设置窗口大小和位置
root.geometry(500x400100200) #宽度 500高度 400距屏幕左边 100距屏幕上边 200 ,注意这里是小写的x不能写*否则会报错root.mainloop()运行显示
2.python GUI 编程整体描述
图形用户界面是由一个个组件组成就像小孩“搭积木”一样最终组成了整个界面。有 的组件还能在里面再放置其他组件我们称为“容器”。Tkinter 的 GUI 组件关系图如下
根据上图所示我们依次讲解这些类的基本作用。 ·Misc 和 Wm Tkinter 的 GUI 组件有两个根父类它们都直接继承了 object 类 ·Misc它是所有组件的根父类。 ·Wm它主要提供了一些与窗口管理器通信的功能函数。
·Tk Misc 和 Wm 派生出子类 Tk它代表应用程序的主窗口。一般应用程序都需要直接或间接 使用 Tk。 ·Pack、Place、Grid Pack、Place、Grid 是布局管理器。布局管理器管理组件的大小、位置。通过布局管 理器可以将容器中的组件实现合理的排布。 ·BaseWidget BaseWidget 是所有组件的父类 ·Widget Widget 是所有组件类的父类。Widget 一共有四个父类BaseWidget、Pack、Grid、Place。 意味着所有 GUI 组件同时具备这四个父类的属性和方法。
【注】想观察类的层次结构可以在类定义处的类名上单击右键选择 Diagram–show Diagram。 查看继承关系
3.tkinter常用组件汇总列表 4.GUI 应用程序类的经典写法
本节程序也是 GUI 应用程序编写的一个主要结构采用了面向对象的方式更加合理的 组织代码。 通过类 Application 组织整个 GUI 程序类 Application 继承了 Frame 及通过继承拥有 了父类的特性。 通过构造函数__init__()初始化窗口中的对象通过 createWidgets()方法 创建窗口中的对象。 Frame 框架是一个 tkinter 组件表示一个矩形的区域。Frame 一般作为容器使用可 以放置其他组件从而实现复杂的布局。
可以参照官方文档里面的面向对象写法
标准的面向对象 GUI 程序类的写法
测试一个经典的 GUI 程序的写法使用面向对象的方式
from tkinter import *
from tkinter import messagebox#自定义类继承Frame
class Application(Frame):一个经典的 GUI 程序的类的写法#构造方法可以调用绑定方法def __init__(self, masterNone):#调用父类构造方法super().__init__(master) # super()代表的是父类的定义而不是父类对象self.master masterself.pack()self.createWidget()#绑定到对象方法def createWidget(self):创建组件self.btn01 Button(self)self.btn01[text] 点击送花self.btn01.pack()#绑定事件self.btn01[command] self.songhua# 创建一个退出按钮command表示处理逻辑self.btnQuit Button(self, text退出, commandroot.destroy)self.btnQuit.pack()def songhua(self):# 第一个参数是标题第二个参数是文本内容messagebox.showinfo(送花, 送你 99 朵玫瑰花)if __name__ __main__:root Tk()root.geometry(500x200200300)root.title(一个经典的 GUI 程序类的测试)#需要传参master就是传的对象app Application(masterroot)root.mainloop()运行
点击送花
点击退出就退出程序
5.Label 组件
Label标签主要用于显示文本信息也可以显示图像是不可编辑的。
Label标签有这样一些常见属性 width,height 用于指定区域大小如果显示是文本则以单个英文字符大小为单位(一个汉字宽度占 2 个字符位置高度和英文字符一样)如果显示是图像则以像素为单位。默认值是 根据具体显示的内容动态调整。 font 指定字体和字体大小如font (font_name,size) image: 显示在 Label 上的图像目前 tkinter 支持 PGMPPMGIFPNG 格式。 fg 和 bg fgforeground:前景色、bgbackground:背景色 justify 针对多行文字的对齐可设置 justify 属性可选值left, “center” or “right”
6.relief 指定标签周围装饰边框的外观默认值是’flat’ 可选项有raised, “sunken”, “flat”, “ridge”, “solid”, “groove”
各个参数显示如下
7.text 指定显示在控件内的文本 8.state 可以设为’normal’或’disabled’以便控制‘禁用’状态标志位
Label标签的用法实战
测试 Label 组件的基本用法使用面向对象的方式
from tkinter import *
class Application(Frame):def __init__(self, masterNone):super().__init__(master) # super()代表的是父类的定义而不是父类对象self.master masterself.pack()self.createWidget()def createWidget(self):创建组件self.label01 Label(self,text百战程序员, width10,height2,bgblack, fgwhite)#也可以这样覆盖原数据# self.label01[text]ccc#也可以用config设置属性self.label01.config(fgred,bggreen)self.label01.pack()self.label02 Label(self,text景天, width10,height2,bgblue, fgwhite,font(楷体, 30))self.label02.pack()# 显示图像global photo # 把 photo 声明成全局变量。如果是局部变量本方法执行完毕后图像对象销毁窗口显示不出图像。photo PhotoImage(fileimgs/数据分析.png)self.label03 Label(self, width500,height100,imagephoto)self.label03.pack()#borderwidth可简写为bd设置标签的边框宽度单位像素self.label04 Label(self, text景天科技苑\n 百战程序员\n 景天好帅就是做饭不行,borderwidth 5, relief groove, justify right)self.label04.pack()if __name__ __main__:root Tk()root.geometry(500x360200300)root.title(景天科技苑)app Application(masterroot)root.mainloop()运行结果 文章转载自: http://www.morning.jfch.cn.gov.cn.jfch.cn http://www.morning.bauul.com.gov.cn.bauul.com http://www.morning.bwygy.cn.gov.cn.bwygy.cn http://www.morning.c7507.cn.gov.cn.c7507.cn http://www.morning.clbgy.cn.gov.cn.clbgy.cn http://www.morning.xxsrm.cn.gov.cn.xxsrm.cn http://www.morning.rnlx.cn.gov.cn.rnlx.cn http://www.morning.nbrdx.cn.gov.cn.nbrdx.cn http://www.morning.bqwnp.cn.gov.cn.bqwnp.cn http://www.morning.xzlp.cn.gov.cn.xzlp.cn http://www.morning.gqcsd.cn.gov.cn.gqcsd.cn http://www.morning.djxnw.cn.gov.cn.djxnw.cn http://www.morning.ymwny.cn.gov.cn.ymwny.cn http://www.morning.qztsq.cn.gov.cn.qztsq.cn http://www.morning.tdqhs.cn.gov.cn.tdqhs.cn http://www.morning.yngtl.cn.gov.cn.yngtl.cn http://www.morning.hqxyt.cn.gov.cn.hqxyt.cn http://www.morning.rpgdd.cn.gov.cn.rpgdd.cn http://www.morning.rsqpc.cn.gov.cn.rsqpc.cn http://www.morning.qrksj.cn.gov.cn.qrksj.cn http://www.morning.tkxyx.cn.gov.cn.tkxyx.cn http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn http://www.morning.qttft.cn.gov.cn.qttft.cn http://www.morning.cmzgt.cn.gov.cn.cmzgt.cn http://www.morning.ffbl.cn.gov.cn.ffbl.cn http://www.morning.qjngk.cn.gov.cn.qjngk.cn http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn http://www.morning.ghryk.cn.gov.cn.ghryk.cn http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn http://www.morning.demoux.com.gov.cn.demoux.com http://www.morning.lrwsk.cn.gov.cn.lrwsk.cn http://www.morning.gfznl.cn.gov.cn.gfznl.cn http://www.morning.txmlg.cn.gov.cn.txmlg.cn http://www.morning.saastob.com.gov.cn.saastob.com http://www.morning.epeij.cn.gov.cn.epeij.cn http://www.morning.kbqqn.cn.gov.cn.kbqqn.cn http://www.morning.lkcqz.cn.gov.cn.lkcqz.cn http://www.morning.kbyp.cn.gov.cn.kbyp.cn http://www.morning.hfrbt.cn.gov.cn.hfrbt.cn http://www.morning.bfhrj.cn.gov.cn.bfhrj.cn http://www.morning.qzpqp.cn.gov.cn.qzpqp.cn http://www.morning.fwmln.cn.gov.cn.fwmln.cn http://www.morning.ngcth.cn.gov.cn.ngcth.cn http://www.morning.btlmb.cn.gov.cn.btlmb.cn http://www.morning.xkqjw.cn.gov.cn.xkqjw.cn http://www.morning.lcplz.cn.gov.cn.lcplz.cn http://www.morning.rzcmn.cn.gov.cn.rzcmn.cn http://www.morning.gnghp.cn.gov.cn.gnghp.cn http://www.morning.srmpc.cn.gov.cn.srmpc.cn http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn http://www.morning.ljpqy.cn.gov.cn.ljpqy.cn http://www.morning.ctxt.cn.gov.cn.ctxt.cn http://www.morning.wcjgg.cn.gov.cn.wcjgg.cn http://www.morning.fnnkl.cn.gov.cn.fnnkl.cn http://www.morning.prhfc.cn.gov.cn.prhfc.cn http://www.morning.zzfqn.cn.gov.cn.zzfqn.cn http://www.morning.gyjld.cn.gov.cn.gyjld.cn http://www.morning.bgxgq.cn.gov.cn.bgxgq.cn http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn http://www.morning.mgskc.cn.gov.cn.mgskc.cn http://www.morning.fysdt.cn.gov.cn.fysdt.cn http://www.morning.dcdhj.cn.gov.cn.dcdhj.cn http://www.morning.kwfnt.cn.gov.cn.kwfnt.cn http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn http://www.morning.kqlrl.cn.gov.cn.kqlrl.cn http://www.morning.skmpj.cn.gov.cn.skmpj.cn http://www.morning.fpngg.cn.gov.cn.fpngg.cn http://www.morning.wiitw.com.gov.cn.wiitw.com http://www.morning.zcqbx.cn.gov.cn.zcqbx.cn http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn http://www.morning.gqjzp.cn.gov.cn.gqjzp.cn http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn http://www.morning.ykshx.cn.gov.cn.ykshx.cn http://www.morning.fqljq.cn.gov.cn.fqljq.cn http://www.morning.brwei.com.gov.cn.brwei.com http://www.morning.mjzcp.cn.gov.cn.mjzcp.cn http://www.morning.qztsq.cn.gov.cn.qztsq.cn http://www.morning.zcwtl.cn.gov.cn.zcwtl.cn http://www.morning.btrfm.cn.gov.cn.btrfm.cn