tkinter学习笔记(一)20170415

第一部分:tkinter基础知识

第〇节:认识tkinter

  1. 在Python2.X中是Tkinter,在python3.X中是tkinter,两者区别较大,这里学习的都是python3.X里面的。
  2. Tkinter自带的测试程序如下:

    Import tkinter

    Tkinter._test()

    运行之后如下所示:

第一节:开始一个tkinter程序

  1. 如果不想在运行界面程序是后面还有一个控制台的窗口,可以把代码保存为.pyw,再使用pythonw.exe打开即可。
  2. 一个带标题的例子:

    from tkinter import * # 导入tkinter模块

    root = Tk() # 把类实例化

    root.title('这是郭立鹏的第一个测试程序') # 修改标题

    root.mainloop() # 循环

     

    运行效果:

第二节:标签

  1. 增加一个标签

    (1)代码示例:

    from tkinter import *

     

    root = Tk()

    root.title('郭立鹏的tkinter笔记')

    w1 = Label(root,text = '跟着鸟哥一起学习tkinter') # w1是Label的一个实例

    w1.pack()

    root.mainloop()

    (2)运行结果:

    (3)Label类的源代码

    从中可以看出,Label类的标准属性有background,font,bitmap等等。

    (4)pack方法,简单理解为把标签放置到root窗口上面

    (5)如果有多个标签,就多用几个pack方法,如下:

    代码:

    运行结果:

第三节:组件和按钮

1、21个核心组件:Toplevel、Label、Button、Canvas、Checkbutton、Entry、Frame、LabelFrame、Listbox、

Menu、Menubutton、Message、OptionMenu、PaneWindow、Radiobutton、Scale、Scrollbar、Spinbox、Text、Bitmap、Image。

2、Button按钮组件

(1)源代码

(2)按钮组件与功能绑定

第一种方法:在按钮组件被声明的时候用command属性声明,command接受一个函数名。

例子:按下按钮,在窗口上增加一个新的label

代码:

效果(每点击一次就会增加一个Label):

第二种方法:使用bind方法,该方法是Misc类的一个方法

代码:

效果:

解读:bind可以接受三个参数

1)第一个参数是事件类型,格式为

<MODIFIER-MODIFIER-TYPE-DETALL>,其中MODIFIER是修饰符,可以取下面这些值:

Control, Mod2, M2, Shift, Mod3, M3, Lock, Mod4, M4, Button1, B1,

Mod5, M5 Button2, B2, Meta, M, Button3,B3, Alt,

Button4, B4, Double, Button5, B5 Triple, Mod1, M1。

第三个TYPE表示类型,可以取下面的值:

Activate, Enter, Map, ButtonPress, Button, Expose, Motion, ButtonRelease,FocusIn, MouseWheel,

Circulate, FocusOut, Property, Colormap, Gravity Reparent,

Configure, KeyPress, Key, Unmap, Deactivate, KeyRelease Visibility, Destroy,Leave

常见的就是鼠标左键单击<Button-1>

2)第二个参数是函数名,对应的函数必须有一个参数,习惯上用event

(3)按钮属性示例

代码:

效果:

 

第四节:窗口布局

  1. pack布局(简单堆砌)

    参数:

    side 指定停靠的方向:LEFT、TOP、BOTTOM、RIGHT

    fill指定填充方式:X(水平方向)、Y(竖直方向)、BOTH(两个方向)、NONE(不填)

    expand参数:YES、NO

    anchor参数:N(上)、E(右)、S(下)、W(左)、CENTER(中)

    ipadx表示内边距x的方向,ipady表示内边距y的方向

    示例:

    代码:

    效果:

  2. grid布局(表格形式)

    row表示行,从0开始

    rowspan表示跨越的行数

    column表示列,从0开始

    column表示跨越的列数

    sticky表示方向,N(上)、E(右)、S(下)、W(左)、CENTER(中)

    也支持ipadx、ipady、padx、pady参数,默认边距是0

    代码示例:

    效果

     

    pack和grid不能同时用

  3. place布局(绝对位置和相对位置)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值