Python GUI with Tkinter - 1 - Introduction
以上链接是一个python tkinter视频系列的第一讲的链接.虽然英语不好,但是,程序还是看得懂的(照着做就可以了),所以找不到中文视频时看下这些英语视频也是可以的.

以下是我在看视频过程中的练习, 可以在python2.7下运行.

001: hello,world:

from Tkinter import Label, Tk

root = Tk()
thelabel = Label(root, text="This is too easy")
thelabel.pack()
root.mainloop()

002: Button pack布局

from Tkinter import *

root = Tk()

topFrame = Frame(root)
topFrame.pack()
bottomFrame = Frame(root)
bottomFrame.pack(side=BOTTOM) button1 = Button(topFrame, text="Button 1", fg="red")
button2 = Button(topFrame, text="Button 2", fg="blue")
button3 = Button(topFrame, text="Button 3", fg="green")
button4 = Button(bottomFrame, text="Button 4", fg="purple") button1.pack(side=LEFT)
button2.pack(side=LEFT)
button3.pack(side=LEFT)
button4.pack(side=BOTTOM) root.mainloop()

003: Label和pack布局

from Tkinter import *

root = Tk()

one = Label(root, text="one", bg="red", fg="white")
two = Label(root, text="two", bg="green", fg="black")
three = Label(root, text="three", bg="blue", fg="white") one.pack()
two.pack(fill=X)
three.pack(side=LEFT, fill=Y) root.mainloop()

004: grid布局.

from Tkinter import *

root = Tk()

label_1 = Label(root, text="Name")
label_2 = Label(root, text="Password")
entry_1 = Entry(root)
entry_2 = Entry(root) label_1.grid(row=0)
label_2.grid(row=1)
entry_1.grid(row=0, column=1)
entry_2.grid(row=1, column=1) root.mainloop()

005: grid布局

from Tkinter import *

root = Tk()

label_1 = Label(root, text="Name")
label_2 = Label(root, text="Password")
entry_1 = Entry(root)
entry_2 = Entry(root) label_1.grid(row=0, sticky=E)
label_2.grid(row=1, sticky=E)
entry_1.grid(row=0, column=1)
entry_2.grid(row=1, column=1) c = Checkbutton(root, text="Keep me logged in")
c.grid(columnspan=2) root.mainloop()

006: Button和事件

from Tkinter import *

root = Tk()

def printName():
print("Chello my name is Bucky!") button_1 = Button(root, text="Print my name", command=printName)
button_1.pack() root.mainloop()

007:  绑定事件: 左键,中键,右键

#coding:utf8
from Tkinter import * root = Tk() def printName(event):
print("Chello my name is Bucky!") button_1 = Button(root, text="Print my name")
'''
<Button-1> 鼠标左键
<Button-2> 鼠标中键
<Button-3> 鼠标右键
'''
button_1.bind("<Button-1>", printName)
button_1.pack() root.mainloop()

008:   绑定事件: 左键,中键,右键

from Tkinter import *

root = Tk()

def leftClick(event):
print "left" def middleClick(event):
print "middle" def rightClick(event):
print "right" frame = Frame(root, width=300, height=250)
frame.bind("<Button-1>", leftClick)
frame.bind("<Button-2>", middleClick)
frame.bind("<Button-3>", rightClick)
frame.pack() root.mainloop()

009:  Python GUI with Tkinter-8-Using Classes

# -*- coding:utf-8 -*-
'''
Python GUI with Tkinter-8-Using Classes
'''
from Tkinter import * class BuckysButtons:
def __init__(self, master):
frame = Frame(master)
frame.pack() self.printButton = Button(frame, text="Print Message", command=self.printMessage)
self.printButton.pack(side=LEFT) self.quitButton = Button(frame, text="Quit", command=frame.quit)
self.quitButton.pack(side=LEFT) def printMessage(self):
print "Wow, this actually worked!" root = Tk()
b = BuckysButtons(root)
root.mainloop()

010: Python GUI with Tkinter-9-Creating Drop Down Menus

# -*- coding:utf-8 -*-
'''
Python GUI with Tkinter-9-Creating Drop Down Menus
'''
from Tkinter import * def doNothing():
print("ok ok I won't...") root = Tk() menu = Menu(root)
root.config(menu=menu) subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="New Project...", command=doNothing)
subMenu.add_command(label="New...", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing) editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing) root.mainloop()

011: Python GUI with Tkinter-10-Creating a Toolbar

# -*- coding:utf-8 -*-
'''
Python GUI with Tkinter-10-Creating a Toolbar
'''
from Tkinter import * def doNothing():
print("ok ok I won't...") root = Tk() # ***** Main Menu *****
menu = Menu(root)
root.config(menu=menu) subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="New Project...", command=doNothing)
subMenu.add_command(label="New...", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing) editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing) # ***** Toolbar ***** toolbar = Frame(root, bg="blue") insertBtn = Button(toolbar, text="Insert Image", command=doNothing)
insertBtn.pack(side=LEFT, padx=2, pady=2)
printBtn = Button(toolbar, text="Print", command=doNothing)
printBtn.pack(side=LEFT, padx=2, pady=2) toolbar.pack(side=TOP, fill=X) root.mainloop()

012: Python GUI with Tkinter-11-Adding the Status Bar

# -*- coding:utf-8 -*-
'''
Python GUI with Tkinter-11-Adding the Status Bar
'''
from Tkinter import * def doNothing():
print("ok ok I won't...") root = Tk() # ***** Main Menu *****
menu = Menu(root)
root.config(menu=menu) subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="New Project...", command=doNothing)
subMenu.add_command(label="New...", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing) editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing) # ***** Toolbar ***** toolbar = Frame(root, bg="blue") insertBtn = Button(toolbar, text="Insert Image", command=doNothing)
insertBtn.pack(side=LEFT, padx=2, pady=2)
printBtn = Button(toolbar, text="Print", command=doNothing)
printBtn.pack(side=LEFT, padx=2, pady=2) toolbar.pack(side=TOP, fill=X) # ***** Status Bar ***** status = Label(root, text="Preparing to do nothing...", bd=1, relief=SUNKEN, anchor=W)
status.pack(side=BOTTOM, fill=X) root.mainloop()

013: Python GUI with Tkinter-12-Messagebox

# -*- coding:utf-8 -*-
'''
Python GUI with Tkinter-12-Messagebox
How to create a message box with tkinter?
http://stackoverflow.com/questions/1052420/how-to-create-a-message-box-with-tkinter
'''
from Tkinter import *
import tkMessageBox root = Tk()
tkMessageBox.showinfo("Window Title", "Monkeys can live up to 300 years.")
msg = tkMessageBox answer = msg.askquestion("Question1", "Do you like silly faces?") if answer == 'yes':
print(' 8===D~') root.mainloop()

014: Python GUI with Tkinter-13-Shapes and Graphics

# -*- coding:utf-8 -*-
'''
Python GUI with Tkinter-13-Shapes and Graphics
'''
from Tkinter import * root = Tk() canvas = Canvas(root, width=200, height=100)
canvas.pack() blackLine = canvas.create_line(0, 0, 200, 50)
redLine = canvas.create_line(0, 100, 200, 50, fill="red")
greenBox = canvas.create_rectangle(25, 25, 130, 60, fill="green") # canvas.delete(redLine)
canvas.delete(ALL) root.mainloop()

015: Python GUI with Tkinter-14-Images and Icons

# -*- coding:utf-8 -*-
'''
Python GUI with Tkinter-14-Images and Icons
(1.1)在这个例子中遇到问题"_tkinter.TclError: couldn't recognize data in image file"
(1.2)http://stackoverflow.com/questions/27599311/tkinter-photoimage-doesnt-not-support-png-image
(1.3)http://effbot.org/tkinterbook/photoimage.htm
(1.4)解决办法参考上面的链接. 引入 "from PIL import Image, ImageTk"
---------------
(2)中文目录要加 u"..."
'''
from Tkinter import *
from PIL import Image, ImageTk root = Tk() imgList = ["image001.png", "kaola.jpg", u"考拉.jpg"]
print(imgList[-1])
image = Image.open(imgList[-1])
# photo = PhotoImage(file="image001.png")
photo = ImageTk.PhotoImage(image) label = Label(root, image=photo)
label.pack() root.mainloop()

  

Python GUI with Tkinter (from youtube) 在youtube上能找到很多编程视频...的更多相关文章

  1. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介

    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...

  2. python GUI学习——Tkinter

    支持python的常见GUI工具包: Tkinter 使用Tk平台 很容易得到 半标准 wxpython 基于wxWindows.跨平台越来越流行 Python Win 只能在Windows上使用 使 ...

  3. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)

    一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 二.Tkinter 是什么 三.Tkinter 控件详细介绍 1. T ...

  4. Python GUI工具Tkinter以及拖拉工具Page安装

    如果使用Tkinter作为Python GUI工具,我们需要安装Tkinter,这个使用conda或者pip即可: conda install -c anaconda tk 为了提高界面编写效率,可以 ...

  5. Python:GUI之tkinter学习笔记1控件的介绍及使用

    相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...

  6. python gui之tkinter语法杂记

    随手写的,后续整理. 1. Entry如何调用父类的__init__? 以下错,原因后续分析 super(Your_Entry_Class, self).__init__(self,**kw) 报错: ...

  7. python gui 之 tkinter库

    http://blog.csdn.net/jcodeer?viewmode=contents http://tieba.baidu.com/p/3082739560 http://blog.sina. ...

  8. python gui之tkinter事件处理

    事件一览表 事件 代码 备注 鼠标左键单击按下 1/Button-1/ButtonPress-1   鼠标左键单击松开 ButtonRelease-1   鼠标右键单击 3   鼠标左键双击 Doub ...

  9. python GUI 之 tkinter

    写一个 登陆窗口来学习 tkinter ,还剩下一些问题 代码暂时如下 import tkinter as tk import webbrowser import pickle from tkinte ...

随机推荐

  1. Tsinsen A1516. fx 数位dp

    题目: http://www.tsinsen.com/A1516 A1516. fx 时间限制:2.0s   内存限制:256.0MB    总提交次数:164   AC次数:72   平均分:51. ...

  2. Android ListView 全面优化

    结合昨天学习的多线程,今天又继续对ListView进行了优化,包括异步加载图片,滑动时暂停加载,滑动停止后再加载显示界面中的item. 综合ListView在使用时参考的多篇博客,这里对ListVie ...

  3. 不同的jar里边相同的包名类名怎么区别导入

    今天在做项目的时候遇到了一个很有意思的问题,折磨了我很长时间,不过最终还是解决了,特留此文纪念一下. 遇到的问题: 同样一段代码,在同事那就好使,在我这就找不到一个方法.引用的包也都是相同的,这种问题 ...

  4. Zookeeper系列(二)特征及应用场景

    zookeeper类似一个分布式的文件系统,每个节点可以有和它自身或它的子节点相关联的数据,此外指向节点的路劲必须使用绝对路径(不能使用相对路劲):   Znode 对应目录树中的的一个节点,并拥有一 ...

  5. java 关于extends 和implement的区别

    在java中extends用于继承父类,只要父类不是声明为final或者为abstract类就可以,但是java不支持多重继承.可以使用接口实现多重继承implements,继承只能继承一个类,但im ...

  6. 微软云平台windows azure入门系列八课程

    微软云平台windows azure入门系列八课程: Windows Azure入门教学系列 (一): 创建第一个WebRole程序与部署 Windows Azure入门教学系列 (二): 创建第一个 ...

  7. Kooboo中主要的几个关键词中的关系

    Kooboo中主要的几个关键词中的关系 Content Type  //相当于数据库表 Content      //相当于数据 View         //部分View 她可以使用Content ...

  8. 尝试获取TextBox_TextChanged事件订阅列表过程

    项目中有用到动态事件绑定[多种事件],由于可触发多次绑定,所以想获取订阅列表来判断是否已绑定事件,从而避免问题! 查找相关资料得知Delegate的GetInvocationList方法可以获取委托的 ...

  9. mongodb的查询操作符

    本文地址:http://www.cnblogs.com/egger/archive/2013/05/04/3059374.html   欢迎转载 ,请保留此链接! 官方参考: http://docs. ...

  10. Lucene子项目------------------Solr遇到的问题

    SolrCore Initialization Failures paper: org.apache.solr.common.SolrException:org.apache.solr.common. ...