Python3+
导入tk模块进行测试
demo
import tkinter
tkinter._test()
点击 Click me 两边会增加括号
点击 QUIT 退出程序
创建一个tk窗口
from tkinter import *
root = Tk() # 创建窗口对象
root.mainloop()
向窗口添加一个标签 Hello world!
from tkinter import *
root = Tk() # 创建窗口对象
root.wm_title("python GUI")
wl = Label(root, text="hello world!")
wl.pack()
root.mainloop()
tk 组件及按钮
Button 按钮控件;在程序中显示按钮。
Canvas 画布控件;显示图形元素如线条或文本
Checkbutton 多选框控件;用于在程序中提供多项选择框
Entry 输入控件;用于显示简单的文本内容
Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器
Label 标签控件;可以显示文本和位图
Listbox 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
Menubutton 菜单按钮控件,由于显示菜单项。
Menu 菜单控件;显示菜单栏,下拉菜单和弹出菜单
Message 消息控件;用来显示多行文本,与label比较类似
Radiobutton 单选按钮控件;显示一个单选的按钮状态
Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间
Scrollbar 滚动条控件,当内容超过可视化区域时使用,如列表框。.
Text 文本控件;用于显示多行文本
Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似
Spinbox 输入控件;与Entry类似,但是可以指定输入范围值
PanedWindow PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。
tkMessageBox 用于显示你应用程序的消息框。
按钮事件绑定
在按钮组件被声明的时候加上 command 属性声明,command属性接收一个函数名。
demo
from tkinter import *
def myLabel():
global root, i
s = Label(root, text="--%d--" % i)
s.pack()
i += 1
root = Tk()
i = 1
b = Button(root, text=" +1 ", command=myLabel)
b.pack()
root.mainloop()
事件绑定方法二
from tkinter import *
def myLabel(evevt):
global root, i
s = Label(root, text="--%d--" % i)
s.pack()
i += 1
root = Tk()
i = 1
b = Button(root, text=" +1 ")
b.bind("<Button-1>", myLabel) # 传递 鼠标左键单击 事件
b.pack()
root.mainloop()
属性设置
Dimension 控件大小;
Color 控件颜色;
Font 控件字体;
Anchor 锚点;
Relief 控件样式;
Bitmap 位图;
Cursor 光标;
样式设置
from tkinter import *
root = Tk()
b1 = Button(root, text="Python GUI")
b1["width"] = 20
b1["height"] = 4
b1.pack()
b2 = Button(root, text="Hello World!")
b2["width"] = 20
b2["background"] = "pink"
b2.pack()
root.mainloop()
exit(?)