import tkinter
win=tkinter.Tk()
win.title("银行系统")
#设置大小和位置
win.geometry("400x400+200+100")#长字母(x)宽 距屏幕左侧位置 距屏幕上边位置
#进入消息循环
win.mainloop()
button
def func():
print("sunck is a good man")
#创建按钮
button1=tkinter.Button(win,text="按钮",command=func, width=10,height=10)#函数内不能加()
button1.pack()
button2=tkinter.Button(win,text="按钮",command=lambda:print("sunck is a fuck man"), width=0,height=0)
button2.pack()
button3=tkinter.Button(win,text="按钮",command=win.quit)#退出按钮)
button3.pack()
Combobox下拉菜单
from tkinter import ttk
#创建下拉菜单
cv=tkinter.StringVar()
com=ttk.Combobox(win,textvariable=cv)
com.pack()
#设置下拉数据
com["value"]=("黑龙江","吉林","辽宁")
#设置默认值
com.current(0)
def func(event):
print(com.get())
print(cv.get())
print("hello boy")
#绑定事件
com.bind("<<ComboboxSelceted>>",func)
Entry控件
#Entry 用于显示文本内容
#show 以。。。。显示
#绑定变量
e=tkinter.Variable()#entry 输入内容赋值到的变量
entry1=tkinter.Entry(win,show="*",textvariable=e)#输入控件 给输入文件的内容赋予到某个变量中
entry1.pack()
#e代表输入框这个对象
# e.set("sunck is a man")
b=tkinter.Variable()#entry 输入内容赋值到的变量
entry2=tkinter.Entry(win,textvariable=b)#输入控件 给输入文件的内容赋予到某个变量中
entry2.pack()
#e代表输入框这个对象
# 设置值
b.set("sunck is a man")
# 取值
print(b.get())
print(entry2.get())
entry1=tkinter.Entry()
button1=tkinter.Button(win,text="点我试试",width=10,height=5,command=showInfo)
frame控件
"""frame框架控件
在屏幕上显示一个矩形区域,多作为容器控件
"""
frm=tkinter.Frame(win)
frm.pack()
#left侧frame
frm_l=tkinter.Frame(frm)
tkinter.Label(frm_l,text="左上",bg="red").pack(side=tkinter.TOP)
tkinter.Label(frm_l,text="左下",bg="yellow").pack(side=tkinter.TOP)
frm_l.pack(side=tkinter.LEFT)
#right侧frame
frm_r=tkinter.Frame(frm)
tkinter.Label(frm_r,text="右上",bg="green").pack(side=tkinter.TOP)
tkinter.Label(frm_r,text="右下",bg="orange").pack(side=tkinter.TOP)
frm_r.pack(side=tkinter.RIGHT)
#win left侧frame
frm_l=tkinter.Frame(win)
tkinter.Label(frm_l,text="左上",bg="red").pack(side=tkinter.TOP)
tkinter.Label(frm_l,text="左下",bg="yellow").pack(side=tkinter.TOP)
frm_l.pack(side=tkinter.LEFT)
#win right侧frame
frm_r=tkinter.Frame(win)
tkinter.Label(frm_r,text="右上",bg="green").pack(side=tkinter.TOP)
tkinter.Label(frm_r,text="右下",bg="orange").pack(side=tkinter.TOP)
frm_r.pack(side=tkinter.RIGHT)
Label控件
#Label:标签控件 可以显示文本
#win 父窗体
#text 显示文本内容
#bg 背景色
#fg 字体颜色
#wraplength 指定文本中多宽换行
#justify 设置换行后的对齐方式
#anchor 位置 n北边 e东边 s南边 w西边 ne东北
label=tkinter.Label(win,
text="中国工商银行",
bg="black",
fg="white",
font=("黑体",20),
width=100,
height=2,
wraplength=1000,
justify="center",
anchor="center"
)
label.pack()
Listbox控件
"""列表框控件 可以包含一个或者多个文本框
可以单选 或者多选
作用:在listbox控件的小窗口显示一个字符串"""
#创建Listbox。添加元素
listbox=tkinter.Listbox(win,selectmode=tkinter.BROWSE)
listbox.pack()
for item in["good","nice","handsome","ab","ac","ad","ae"]:
listbox.insert(tkinter.END,item) #END按顺序添加
listbox.insert(tkinter.ACTIVE,"cool")#在最头部添加
listbox.insert(tkinter.END,["very good","very nice"])#将列表当成一个元素 添加
#删除 参数1为开始的索引,参数2为结束的索引,不指定参数2,只删除第一个索引出的内容
listbox.delete(2,3)
#选中 参数1开始索引,参数2结束索引,如果不指定参数2,只选中第一个索引处的内容
listbox.select_set(1,6)
#取消索引
listbox.select_clear(3)
#可以获得列表中的元素的个数
print(listbox.size())
#从列表中取值 参数1开始索引,参数2结束的索引
print(listbox.get(2,4))
print(listbox.get(2)) #返回值是在元组中
#返回当前的索引项,不是item本身的元素
print(listbox.curselection())
#判断 一个选项是否被选中
print(listbox.selection_includes(3))
print(listbox.selection_includes(2))
lbv=tkinter.StringVar()
#绑定变量
#与BORWSE相似,但不支持鼠标按下后移动选中位置
lb=tkinter.Listbox(win,selectmode=tkinter.SINGLE,listvariable=lbv)
for item in["good","nice","handsome","ab","ac","ad","ae"]:
lb.insert(tkinter.END,item) #END按顺序添加
#打印当前列表中的选项
print(lbv.get())
#设置选项
# lbv.set(("1","2","3","4"))
#绑定事件
def myprint(event):
print("****************")
a=lb.curselection()[0]
print(lb.curselection(),type(lb.curselection()))#返回双击值的下标
print(lb.get(a))
lb.bind("<Double-Button-1>",myprint)#绑定事件
lb.pack()
#EXTEND 可以使listbox支持shift 和ctrl键
lb=tkinter.Listbox(win,selectmode=tkinter.EXTENDED)
for item in["good","nice","handsome","ab","ac","ad","ae","good","nice","handsome","ab","ac","ad","ae"]:
lb.insert(tkinter.END,item) #END按顺序添加
#shift 实现连选
#ctrl 实现跳选
#添加滚动条
scroll=tkinter.Scrollbar(win)
scroll.pack(side=tkinter.RIGHT,fill=tkinter.Y)
lb.configure(yscrollcommand=scroll.set)
scroll["command"]=lb.yview
lb.pack(side=tkinter.LEFT,fill=tkinter.BOTH)
#EXTEND 可以使listbox支持shift 和ctrl键
#MULTIPLE属性支持鼠标选中多选1
lb=tkinter.Listbox(win,selectmode=tkinter.MULTIPLE)
for item in["good","nice","handsome","ab","ac","ad","ae","good","nice","handsome","ab","ac","ad","ae"]:
lb.insert(tkinter.END,item) #END按顺序添加
lb.pack()