1. # tkinter常用组件
    - 按钮
    - button(按钮组件)
    - RadioButton(单选框组件)
    - CheckButton(选择按钮组件)
    - Listbox(列表框组件)
  2.  
  3. - 文本输入组件
    - Entry(单行文本框组件)
    - Text(多行文本框组件)
  4.  
  5. - 标签组件
    - Label(标签组件,可以显示图片和文字)
    - Message(标签组件,可以根据内容将文字换行)
  6.  
  7. - 菜单
    - Menu(菜单组件)
    - MenuButton(菜单按钮组件,可以使用Menu代替)
  8.  
  9. - 滚动条
    - scale(滑块组件)
    - Scrollbar(滚动条组件)
  10.  
  11. - 其他组件
    - Canvas(画布组件)
    - Frame(框架组件,将多个组件编组)
    - Toplevel(创建子窗口容器组件)
  12.  
  13. ##组件布局
    - 三种布局
    - pack布局(按照方位布局)
    - 最简单,代码最少,挨个摆放,默认从上到下,系统自动摆放
    - 通用方式: 组件对象.pack(设置, , ,)
    - side: 停靠方位,可选值为LEFT,TOP,RIGHT,BOTTON
    - fill: 填充方式,X, Y, BOTH, NONE
    - expande: YES/NO
    - anchor: N, E, S, W, CENTER
    - ipadx: x方向的内边距
    - ipady: y。。
    - padx: x方向的外边界
    - pady: y。。。
    - place布局(按照坐标布局)
    - 明确方位的摆放
    - 相对位置布局,随意改变窗口大小会导致混乱
    - 使用place函数,分为绝对布局和相对布局
    - 绝对布局使用xy参数
    - 相对布局使用relxrelyrelheightrelwidth
    - grid(网格布局)
    - 通用方式: 组件对象.grid(设置, , ,)
    - 利用row, column编号,都是从0开始
    - sticky: N,E,S,W表示上下左右,用来决定组件从哪个方向开始
    - 支持ipadxpadx等参数,跟pack函数含义一样
    - 支持rowspancolumnspan,表示跨行,跨列数量
  14.  
  15. ## 消息机制
    - 消息的传递机制
    - 自动发出事件/消息
    - 消息由系统负责发送到队列
    - 由相关组件进行绑定/设置
    - 后端自动选择感兴趣的事件并做出相应反应
    - 消息格式
    - <[modifier-]---type-[detail]>
    - <Button-1]>: Button表示一个按钮事件,1代表的是鼠标左键,2代表中键
    - <KeyPress-A>: 键盘A键位
    - <Control-shift-KeyPress-A>: 同时按下ControlshiftA三个键位
  16.  
  17. ##Tkinter的绑定
    - bind_all: 全局范围的绑定,默认的是全局快捷键,比如F1是帮助文档
    - bind_class: 接收三个参数,第一个是类名,第二个是事件,第三个是操作
    - bind: 单独对某一个实例绑定
    - unbind: 解绑,需要一个参数,即你要解绑的那个事件
    ### Entry
    - 输入框,功能单一
    - entry["show"] = "*",设置遮挡字符
    - 案例:输入框
  18.  
  19. ## 菜单
    - 普通菜单
    - 第一个Menu类定义的是parent
    - add_command 添加菜单项,如果菜单是顶层菜单,则从左向右添加,否则就是下拉菜单
    - label: 指定菜单项名称
    - command: 点击后响应相对应的函数
    - acceletor: 快捷键
    - underline: 制定是否菜单信息下有横线
    - menu: 属性指定使用哪个作为顶级菜单
    - 级联菜单
    - add_cascade: 级联菜单,作用是引出后面的菜单
    - add_cascademenu属性: 指明把菜单级联到哪个菜单上
    - label: 名称
    - 过程
    1. 建立menu实例
    2. add_command
    3. add_cascade
  20.  
  21. ##弹出式菜单
    - 弹出式菜单也叫上下文菜单
    - 流程
    1. 建立菜单并向菜单中添加各种功能
    2. 监听鼠标事件
    3. 如果右键点击,则根据位置判断弹出
    4. 调用Menupop方法
    - add_separator: 添加分割符
  22.  
  23. ##canvas画布
    - 画布: 可以自由的在画布上面绘制图形的一个舞台
    - 通常用create_xx(说明:xx=对象类型),例如linerectangle
  24.  
  25. 画布五角星案例:
  1. import tkinter
    import math as m
  2.  
  3. # 创建面板
    baseFrame = tkinter.Tk()
  4.  
  5. # 创建画布
    cvc = tkinter.Canvas(baseFrame, width=300, height=300, background="gray")
    cvc.pack()
  6.  
  7. center_x = 150
    center_y = 150
    r = 150
  8.  
  9. # 依次存放五个点的位置
    points = [
    # 左上点
    center_x - int(r * m.sin(2 * m.pi / 5)),
    center_y - int(r * m.cos(2 * m.pi / 5)),
  10.  
  11. # 右上点
    center_x + int(r * m.sin(2 * m.pi / 5)),
    center_y - int(r * m.cos(2 * m.pi / 5)),
  12.  
  13. # 左下点
    center_x - int(r * m.sin(m.pi / 5)),
    center_y + int(r * m.cos(m.pi / 5)),
  14.  
  15. # 顶点
    center_x,
    center_y - r,
  16.  
  17. # 右下点
    center_x + int(r * m.sin(m.pi / 5)),
    center_y + int(r * m.cos(m.pi / 5)),
    ]
  18.  
  19. # 创建一个多边形
    cvc.create_polygon(points, outline="white", fill="red")
  20.  
  21. # 启动消息循环
    baseFrame.mainloop()

Python for Tkinter的更多相关文章

  1. Python GUI - Tkinter tkMessageBox

    Python GUI - Tkinter tkMessageBox: tkMessageBox模块用于显示在您的应用程序的消息框.此模块提供了一个功能,您可以用它来显示适当的消息     tkMess ...

  2. Python GUI - tkinter

    目录: Tkinter 组件 标准属性 几何管理 代码实例: 1. Label & Button 2. Entry & Text 3.Listbox列表 4.Radiobutton单选 ...

  3. python界面Tkinter编程(tkMessageBox对话框使用)

    python界面Tkinter编程(tkMessageBox对话框使用)     转载 https://blog.csdn.net/m_buddy/article/details/80105154 1 ...

  4. python之Tkinter控件学习

    转载自  http://www.cnblogs.com/kaituorensheng/p/3287652.html#_label0 阅读目录 1. 产品介绍 2. 设计规划 3. 相关知识 4. 源码 ...

  5. python使用tkinter做界面之颜色

    python使用tkinter做界面之颜色       from tkinter import *colors = '''#FFB6C1 LightPink 浅粉红#FFC0CB Pink 粉红#DC ...

  6. python使用tkinter无法给顶层窗体的输入框设定默认值

    这几天某同学遇到了一个棘手的问题,困扰了很久.今天终于解决了,我来记录一下坑. 情景:python 使用tkinter为第二层窗体(顶层窗体)中的一个输入框设定默认值时,总是无法设置,而且对输入框获取 ...

  7. Python之Tkinter模块学习

    本文转载自:http://www.cnblogs.com/kaituorensheng/p/3287652.html Tkinter模块("Tk 接口")是Python的标准Tk ...

  8. python库tkinter、pygame中几点需要注意的问题

    恍然之间已经16年快四月份了,已经好久都没有写过东西了.. 最近在用python做一些小的游戏,在网上找了一些Python库,Python中游戏编程最常用的还是pygame了,其次是Tkinter p ...

  9. Linux升级Python提示Tkinter模块找不到解决

    一.安装tkinter 在Linux中python默认是不安装Tkinter模块, [root@li250- ~]# python Python (r266:, Feb , ::) [GCC (Red ...

  10. python的tkinter版本不匹配问题:RuntimeError: test:tk.h version (8.4) doesn't match libtk.a version (8.5)

    Traceback (most recent call last): File "/root/CodeWorkPace/test/TCPClient.py", line 20, i ...

随机推荐

  1. Apache反向代理结合Tomcat集群来实现负载均衡(一)、概念理解

    好的博文一般都能做到"望题知文",看下标题就知道下边要讲的内容,写这个标题时犹豫了一下,本来要将标题定位apache+tomcat实现负载均衡,但是又认为这样显得比較模糊.后来想了 ...

  2. Unix(AIX) set命令

    Unix(AIX) set命令,set命令是shell所具有的,不仅仅是aix自己有的: set -o vi  可以用vi方式操作,用来获取已经输入过的命令: 如果希望自动设置,可以在.profile ...

  3. Mybatis结合Spring注解自己主动扫描源代码分析

    作为一个想做架构师的程序猿,必须是一个优秀的程序猿.在引入某一个框架的时候,必需要研究源代码,将新的开源框架的风险变为可控性. 1.Spring结合Mybatis最经常使用的配置. <!--理论 ...

  4. selenium找到页面元素click没反应

    问题描述:通过调试可以看到控制台已经找到了起诉入口页面元素,可是点击“我是原告”没有反应了,也没有报错 解决办法:登录时是跳进了两层的iframe中,需要跳出iframe才能找到我是原告.

  5. 使用java -jar运行jar包

    使用java -jar运行jar包 摘要 其实不难,网上搜了不少,但是讲不全,或者讲得不少,有的细节却漏掉了, 在此,我想将详细点 java -jar 1.其实命令比较简单:进入相应的目录后,执行ja ...

  6. c19---指针和字符串

    // // main.c // 指针和字符串 // // Created by xiaomage on 15/6/14. // Copyright (c) 2015年 xiaomage. All ri ...

  7. Linux内核OOM机制的详细分析【转】

    本文转载自:http://blog.csdn.net/liukuan73/article/details/43238623 Linux内核根据应用程序的要求分配内存,通常来说应用程序分配了内存但是并没 ...

  8. 【NOIP 2011】 计算系数

    [题目链接] https://www.luogu.org/problemnew/show/P1313 [算法] 二项式定理 [代码] #include<bits/stdc++.h> usi ...

  9. [PHP] Ecstore 开发学习资源

    一.ECOS框架图 二.学习资源链接 PHP之窗 http://www.phpwindow.com/ ECOS百科大全 http://www.ec-os.net/doc.html

  10. 跨域解决方案之JSONP,通过借助调用百度搜索的API了解跨域案例

    跨域解决方案之JSONP 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web ...