分享一个Python Tkinter基础控件用法的入门例子,包括窗口的显示、显示内置图片、弹出窗口、菜单等.

例子,Python Tkinter基础控件的用法

  1. # -*- coding: utf-8 -*-
  2. from Tkinter import *
  3.  
  4. def btn_click():
  5. b2['text'] = 'clicked'
  6. evalue = e.get()
  7. print 'btn Click and Entry value is %s' % evalue
  8.  
  9. def btn_click_bind(event):
  10. print 'enter b2'
  11.  
  12. def show_toplevel():
  13. top = Toplevel()
  14. top.title('2号窗口')
  15. Label(top, text='这是2号窗口').pack()
  16.  
  17. root = Tk()
  18. root.title('1号窗口')
  19. # 显示内置图片
  20. # x = Label(root, bitmap='warning')
  21. l = Label(root, fg='red', bg='blue',text='wangwei', width=34, height=10)
  22. l.pack()
  23.  
  24. # command 指定按钮调用的函数
  25. b = Button(root, text='clickme', command=btn_click)
  26. b['width'] = 10
  27. b['height'] = 2
  28. b.pack()
  29. # 使用bind 方式关联按钮和函数
  30. b2 = Button(root, text = 'clickme2')
  31. b2.configure(width = 10, height = 2, state = 'disabled')
  32. b2.bind("<Enter>", btn_click_bind)
  33. b2.pack()
  34. # 弹出Toplevel窗口
  35. b3 = Button(root, text = 'showToplevel', command=show_toplevel)
  36. b3.pack()
  37.  
  38. # 输入框
  39. e = Entry(root, text = 'input your name')
  40. e.pack()
  41. # 密码框
  42. epwd = Entry(root, text = 'input your pwd', show = '*')
  43. epwd.pack()
  44.  
  45. # 菜单
  46. def menu_click():
  47. print 'I am menu'
  48. # www.xfcodes.com
  49. xmenu = Menu(root)
  50. submenu = Menu(xmenu, tearoff = 0)
  51. for item in ['java', 'cpp', 'c', 'php']:
  52. xmenu.add_command(label = item, command = menu_click)
  53.  
  54. for item in ['think in java', 'java web', 'android']:
  55. submenu.add_command(label = item, command = menu_click)
  56. xmenu.add_cascade(label = 'progame', menu = submenu)
  57.  
  58. # 弹出菜单
  59. def pop(event):
  60. submenu.post(event.x_root, event.y_root)
  61. # www.jbxue.com
  62. # 获取鼠标左键点击的坐标
  63. def get_clickpoint(event):
  64. print event.x, event.y
  65.  
  66. # frame
  67. for x in ['red', 'blue', 'yellow']:
  68. Frame(height = 20, width = 20, bg = x).pack()
  69.  
  70. root['menu'] = xmenu
  71. root.bind('<Button-3>', pop)
  72. root.bind('<Button-1>', get_clickpoint)
  73. root.mainloop()

效果图:

Python Tkinter基础控件入门实例的更多相关文章

  1. Python Tkinter 基础控件学习

    # -*- coding: utf-8 -*- from Tkinter import * def btn_click(): b2['text'] = 'clicked' evalue = e.get ...

  2. Python Tkinter Text控件

    原文地址: http://blog.csdn.net/bemorequiet/article/details/54743889 这篇博客主要是简单的说一下Tkinter中的Text控件的相关知识. T ...

  3. Delphi一共封装(超类化)了8种Windows基础控件和17种复杂控件

    超类化源码: procedure TWinControl.CreateSubClass(var Params: TCreateParams; ControlClassName: PChar); con ...

  4. NTKO在线office控件使用实例

    目录 1. NTKO在线office控件使用实例 1.1. 基础介绍 1.2. 基本原理 1.3. 实例 1.3.1. 打开.保存部分代码 1.3.2. 动态设值 1. NTKO在线office控件使 ...

  5. React Native环境搭建以及几个基础控件的使用

    之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeT ...

  6. Cocos2d-JS项目之二:studio基础控件的使用

    在studio里把几个基础控件往场景文件一拖,然后导出json格式的资源文件 逻辑代码如下: var HelloWorldLayer = cc.Layer.extend({ sprite:null, ...

  7. [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)

    A.概述      在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能      1.按钮点击后,显示为“已下载”,并且不 ...

  8. Cocos2d-JS studio基础控件的使用

    在studio里把几个基础控件往场景文件一拖,然后导出json格式的资源文件 逻辑代码如下: 1 var HelloWorldLayer = cc.Layer.extend({ 2 sprite:nu ...

  9. DevExpress XtraScheduler日程管理控件应用实例(2)-- 深入理解数据存储

    DevExpress年终击穿底价,单套授权低至67折!查看详情>>> 在上篇随笔<DevExpress XtraScheduler日程管理控件应用实例(1)-- 基本使用> ...

随机推荐

  1. mysql可视化工具

    比较mysql manager lite 和phpmyadmin: 1.phpmyadmin有中文界面, 可以快速入门,但友好性远没有SQL Manager Lite强大 2.SQL Manager ...

  2. 一个进程(Process)最多可以生成多少个线程(Thread)

    1.进程中创建线程的限制 默认情况下,一个线程的栈要预留1M的内存空间,而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程,但是内存当然不可能完全拿来作线程的栈,所以实际 ...

  3. NPOI 中的公式列的值的获取

    方法1 NPOI 中,对 sheet 对象设置 ForceFormulaRecalculation = true,即可实现自动将 Excel 的公式计算出来. 方法2 循环 Excel 的行.列,取出 ...

  4. 【php正则】php正则匹配UTF-8格式的中文汉字 和 【,】【,】【。】等符号

    1.php正则匹配UTF-8格式的中文汉字 和 [,][,][.]等符号 if (preg_match_all("/([\x{4e00}-\x{9fa5}]+((,)?)+((,)?)+(( ...

  5. 【php+uploadify3.2】上传按钮点击一点反应都没有,原因

    原因: 代码没有问题,这个原因也困扰我一段时间,是由于浏览器禁用了flash,需要放开,操作方法如下: 在谷歌浏览器输入:chrome://settings/content/flash 然后添加需要该 ...

  6. keras embeding设置初始值的两种方式

    随机初始化Embedding from keras.models import Sequential from keras.layers import Embedding import numpy a ...

  7. 原创工具binlog2sql:从MySQL binlog得到你要的SQL

    从MySQL binlog得到你要的SQL.根据不同设置,你可以得到原始SQL.回滚SQL.去除主键的INSERT SQL等. 用途 数据回滚 主从切换后数据不一致的修复 从binlog生成标准SQL ...

  8. shell脚本中解决SCP命令需要输入密码的问题

    使用密钥文件.       这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件.   在主机A上执行如下命令来生成配对密钥: ssh-keygen -t r ...

  9. 保证java的jar包在后台运行

    nohup  java -jar XX.jar >temp.text &

  10. 基于Amoba实现mysql主从读写分离

    一.Amoeba简介           Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特 ...