zoukankan      html  css  js  c++  java
  • 【Tkinter】一、快速入门

    1.1 确保已经安装Tkinter并且其可用
    在大多数情况下,只要安装了python便不必再安装Tkinter。为了检查是否正确安装,打开python交互命令行并输入import tkinter,如果没有错误打印,说明Tkinter可以正常使用。有些Linux系统并不会默认安装Tkinter,基于Debian的包管理系统中的包名叫做python3-tk,基于RPM的包管理系统中的包名叫做python3-tkinter。

    >>> import tkinter
    >>> tkinter.TkVersion

    一旦你已经准备好Tkinter库,我们就可以学习如何一步一步构建一个Tkinter应用了!

    1.2 创建一个主窗口来展示你的应用
    Tkinter中有许多控件,Tkinter应用程序的任何部分都由控件组成,包括主窗口。一个Tkinter应用程序总是有一个主窗口,它被绘制在屏幕上以便用户可以看到程序的运行。这对于一个GUI程序来讲是重要的,如果你没有定义一个主窗口,Tkinter也会试着为你创建一个。进行这一工作的控件叫做Tk。
    Tk控件有许多的窗口属性,比如窗口的标题、位置以及是否可以被拉伸,它的标题栏小图标。因为上述原因,从Tk控件中继承子类是很常见的方式。

    1 import tkinter
    2 class Window(tkinter.Tk):
    3     def __init__(self):
    4         super().__init__()
    5         self.title("Hello World")
    6 if __name__ == "__main__":
    7     window = Window()
    8     window.mainloop()

    1.3 用 geometry managers 在窗口中放置控件
    一旦你定义了一个主窗口,你便可以向其中添加其他控件,所有的其他控件必须属于可以展示它们的父控件,将控件放置他们父类中的特殊方法叫做geometry managers。在Tkinter中有三种可用的geometry managers方法。
    • Pack
    Pack的行为基于充分利用父控件空余空间的概念,你可以用此方法指定将控件放置在哪一边以及它如何延展
    pack方法主要有三个关键参数控制。
    ○ side
    表明要将控件放置在可用空间的哪一边,它的参数定义在Tkinter之中LEFT、RIGHT、TOP和BOTTOM。
    ○ fill
    表明控件是否需要填满可用空间,它的参数有x和y,x代表水平方向填充、y代表垂直方向填充,如果想要两种方向的填充,请使用BOTH参数。
    ○ Expand
    表示控件是否可以随着窗口的拉伸而伸缩,参数是一个布尔值。
    pack方法不止提供了这几个参数,但是主要使用的参数就这几个,由于这个方法使用了描述位置的参数,所以可以很容易的创建出可读性很高的代码。此外,控件放置的顺序是一个个需要关注的地方,假设你有两个希望垂直放置的按钮控件,都使用pack放置,第二个控件将会展示在第一个控件的后面。
    • Grid
    如名所述,grid方法将父控件视为一个包含横纵列的网格容器。如果你对电子表格软件很熟悉,你将会更好的理解这一方法,因为它以同样的原理工作,网格是不可见的,它仅仅是概念上的东西。
    网格从窗口的左上角开始计算,为了在网格中指定位置,grid使用下面两个参数。
    ○ row
    表示在网格中行参数,使用rowspan表示行所占大小。
    ○ Column
    表示在网格中的列参数,使用column表示列所占大小。
    控件会默认处于网格的中心,如果要更改它们的位置,使用sticky参数。
    注意:grid与pack方法不可组合使用在相同的父控件中。一般而言,pack用在父控件为frame的时候,grid用在父控件为其他控件的时候。
    • Place
    place方法不会自动计算控件被放置的位置,它需要按顺序指定控件需放置的横纵坐标,横纵坐标以像素为单位,此方法放置的控件大小一般不会随着窗口的改变而改变。
    若要将控件放置在(5,10)的位置,可以weight.place(x=5,y=10)。
    place一般很少用在大型的项目中,因为它的适用性不是很好。还有一个需要注意的事项是它可以与grid和pack方法共同使用。
    1.4 用 label 控件展示静态信息
    我们已经学习了如何创建一个主窗口,以及放置控件的三种方法。现在就让我们使用第
    一个控件,用于展示静态信息的label控件。

    1 label = tkinter.Label(text="hello")
    2 label.grid(row=0, column=0)


    Label控件接收的第一个参数是它的父控件,在上述例子中传入self作为其父控件,其次text参数表示要显示的文本信息。
    1.5 用 Button 控件展示交互信息
    1.6 向控件绑定方法
    1.7 使用Tkinter的特殊变量
    1.8 展示滑块消息
    1.9 从用户中获取消息

  • 相关阅读:
    Spring实战(第4版).pdf
    java-spring基于redis单机版(redisTemplate)实现的分布式锁+redis消息队列,可用于秒杀,定时器,高并发,抢购
    docker(ubuntu)中安装cron运行crontab定时任务
    java8中日期字符串的月日时分秒自动补零
    img垂直居中div
    使用InstallAnywhere7.1制作Java exe程序安装包
    在IDEA中将项目部署到Tomcat的方法及两种模式的区别
    将Java web应用部署到Tomcat 及部署到Tomcat根目录 的三种方式
    MySQL 5.7.19 忘记密码 重置密码 配置文件my.ini示例 服务启动后停止 log配置
    windows 同时启动多个Tomcat 控制台日志(startup.bat)输出到指定文件中
  • 原文地址:https://www.cnblogs.com/Yuanb/p/13605015.html
Copyright © 2011-2022 走看看