python 我的Tkinter笔记

import tkinter

class App:

    def __init__(self,root):
        frame = tkinter.Frame(root)
        frame.pack(side=tkinter.RIGHT)

        self.hi_there = tkinter.Button(frame,text="打招呼",bg='red',fg="blue",command=self.say_hi)
        self.hi_there.pack()

    def say_hi(self):
        print('大家好')

root = tkinter.Tk()
app = App(root)
root.mainloop()


import tkinter

root = tkinter.Tk()

photo_1 = tkinter.PhotoImage(file="8727f9f9512bc4209e66c5bdd4c6d286.gif")
theLable_1 = tkinter.Label(root,
                 text = "学python\n到FishC",
                 justify=tkinter.LEFT,
                 image=photo_1,
                 compound=tkinter.CENTER,
                 font=("华康少女字体",20),
                 fg = "red"
                 )
theLable_1.pack()

textLable = tkinter.Label(root,text="你下的什么鬼\n多扩所军扩说或或或或或或或或或",justify=tkinter.LEFT,padx=10)
textLable.pack(side=tkinter.LEFT)
photo = tkinter.PhotoImage(file="552394b0637877a888adc1fb3f729f0d.gif")

imgLable = tkinter.Label(root,image=photo)
imgLable.pack(side = tkinter.RIGHT)

tkinter.mainloop()


from tkinter import *

def callback():
    var.set("我才不信呢")

root = Tk()
frame_1 = Frame()
frame_2 = Frame()

var = StringVar()
var.set("您所下载的图片含有未成年人限制部分,\n请满18岁后再来观看")
textLable = Label(frame_1,
                  textvariable=var,
                  justify=LEFT)
textLable.pack(side=LEFT)

photo = PhotoImage(file="8727f9f9512bc4209e66c5bdd4c6d286.gif")
imgLable = Label(frame_1,image=photo)
imgLable.pack(side=RIGHT)

theButton = Button(frame_2,text="已满18周岁",command=callback)
theButton.pack()

frame_1.pack(padx=10,pady=10)
frame_2.pack(padx=10,pady=10)

mainloop()


***************************************************Checkbutton组件*****************************************************
from tkinter import *
root = Tk()
v = IntVar()
c = Checkbutton(root,text="测试一下",variable=v)
c.pack()
v_1 = IntVar()
b = Checkbutton(root,text="测试2下",variable=v_1)
b.pack()
l = Label(root,textvariable=v)
l.pack()
mainloop()


from tkinter import *
root = Tk()
GIRLS = ["西施",'王昭君','貂蝉','杨玉环']
v = []
for girl in GIRLS:
    v.append(IntVar)
    b = Checkbutton(root,text = girl,variable=v[-1])
    b.pack()
mainloop()


***************************************************Radiobutton组件*****************************************************
from tkinter import *
root = Tk()
v=IntVar()
Radiobutton(root,text="One",variable=v,value=1).pack(anchor=W)#pack(anchor=W)左对齐
Radiobutton(root,text="Twe",variable=v,value=2).pack(anchor=W)
Radiobutton(root,text="Three",variable=v,value=3).pack(anchor=W)
mainloop()


from tkinter import *
root = Tk()

LANGS = [
    ('python',1),
    ('Perl',2),
    ('Ruby',3),
    ('Lua',4)
]

v = IntVar()

v.set(2)#2代表圆圈在第二个选择上面
for lang,num in LANGS:
    b = Radiobutton(root,text = lang,variable=v,value=num)
    b.pack(anchor=W)
mainloop()


from tkinter import *
root = Tk()

LANGS = [
    ('python',1),
    ('Perl',2),
    ('Ruby',3),
    ('Lua',4)
]

v = IntVar()

v.set(2)#2代表圆圈在第二个选择上面
for lang,num in LANGS:
    b = Radiobutton(root,text = lang,variable=v,value=num,indicatoron=False)
    b.pack(fill=X)#fill = (X,Y,BOTH)
mainloop()


***************************************************LabelFrame组件*****************************************************
from tkinter import *

root = Tk()
group = LabelFrame(root,text="最好的语言是:",padx=5,pady=5)
group.pack(padx=5,pady=5)

LANGS = [
    ('python',1),
    ('Perl',2),
    ('c++',3),
    ('c语言',4)]
v = IntVar()
v.set(1)

for lang,num in LANGS:
    b = Radiobutton(group,text=lang,variable=v,value=num)
    b.pack(anchor=W)

mainloop()


from tkinter import *
root = Tk()
e = Entry(root)
e.pack(padx=20,pady=20)
e.delete(0,END)
e.insert(0,"默认文本...")
mainloop()


from tkinter import *
root = Tk()
Label(root,text="作品: ").grid(row=0)
Label(root,text="作者: ").grid(row=1)
e1 = Entry(root)
e2 = Entry(root)
e1.grid(row=0,column=1,padx=10,pady=5)
e2.grid(row=1,column=1,padx=10,pady=5)
def show():
    print("作品:《%s》"%e1.get())
    print("作者:《%s》"%e2.get())
    e1.delete(0,END)
    e2.delete(0,END)

Button(root,text="获取信息",width=10,command=show)\
    .grid(row=3,column=0,sticky=W,padx=1,pady=5)
Button(root,text="退出",width=10,command=root.quit)\
    .grid(row=3,column=1,sticky=E,padx=10,pady=5)

mainloop()


from tkinter import *
root = Tk()
Label(root,text="作品: ").grid(row=0)
Label(root,text="作者: ").grid(row=1)
v1 = StringVar()
v2 = StringVar()
e1 = Entry(root,textvariable=v1)
e2 = Entry(root,textvariable=v2,show="*")
e1.grid(row=0,column=1,padx=10,pady=5)
e2.grid(row=1,column=1,padx=10,pady=5)
def show():
    print("作品:《%s》"%e1.get())
    print("作者:《%s》"%e2.get())
    e1.delete(0,END)
    e2.delete(0,END)

Button(root,text="获取信息",width=10,command=show)\
    .grid(row=3,column=0,sticky=W,padx=1,pady=5)
Button(root,text="退出",width=10,command=root.quit)\
    .grid(row=3,column=1,sticky=E,padx=10,pady=5)

mainloop()


from tkinter import *
root = Tk()
def test():
    if a.get() == "小甲鱼":
        print("yes")
        return True
    else:
        print("no")
        return False
def test2():
    print('我被调用了')
v = StringVar()
a = Entry(root,textvariable=v,validate="focusout",validatecommand=test,invalidcommand=test2)
a1=Entry(root)
a.pack(padx=10,pady=10)
a1.pack(padx=10,pady=10)
mainloop()


from tkinter import *
root = Tk()
v = StringVar()
def test(content,reason,name):
    if content == "小甲鱼":
        print('yes')
        print(content,reason,name)
        return True
    else:
        print("no")
        print(content, reason, name)
        return False
testCMD = root.register(test)

a = Entry(root,textvariable=v,validate="focusout",validatecommand=(testCMD,'%P','%v','%W'))
a1=Entry(root)
a.pack(padx=10,pady=10)
a1.pack(padx=10,pady=10)
mainloop()


from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack(padx=10,pady=10)
v1 = StringVar()
v2 = StringVar()
v3 = StringVar()
def test(content):
    if str(content).isdigit():
        return True
    else:
        return False

testCMD = root.register(test)
Entry(frame,textvariable = v1,width=10,validate="key",
      validatecommand=(testCMD,'%P')).grid(row=0,column=0)
Label(frame,text="+").grid(row=0,column=1)
Entry(frame,textvariable = v2,width=10,validate="key",
      validatecommand=(testCMD,'%P')).grid(row=0,column=2)
Label(frame,text="=").grid(row=0,column=3)
Entry(frame,textvariable = v3,width=10,validate="key",
      validatecommand=(testCMD,'%P')).grid(row=0,column=4)

def calc():
    result = int(v1.get())+int(v2.get())
    v3.set(result)

Button(frame,text="计算结果",command=calc).grid(row=1,column=0,pady=5)
Button(frame,text="退出",command=root.quit).grid(row=1,column=4,pady=5)
mainloop()


from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack(padx=10,pady=10)
v1 = StringVar()
v2 = StringVar()
v3 = StringVar()
def text(command,v):
    if str(command).isdigit():
        return True
    else:
        print("请输入数字")
        return False
testCMD = root.register(text)
Entry(frame,textvariable=v1,width=10,validate="key",validatecommand=(testCMD,'%P')).grid(row=0,column=0)
Label(frame,text="+").grid(row=0,column=1)
Entry(frame,textvariable=v2,width=10,validate="key",validatecommand=(testCMD,'%P')).grid(row=0,column=2)
Label(frame,text="+").grid(row=0,column=3)
Entry(frame,textvariable=v3,width=10,validate="key",validatecommand=(testCMD,'%P')).grid(row=0,column=4)
def calc():
    v3.set(int(v1.get())+int(v2.get()))
Button(frame,text="计算结果",command=calc).grid(row = 1,column=0)
Button(frame,text="退出",command=root.quit).grid(row = 1,column=4)
mainloop()


***************************************************Listbox组件*****************************************************
from tkinter import *
'''
Listbox组件根据selectmode选项提供了四种不同的选择模式:SINGLE(单选)
BROWSE(也是单选,但推动鼠标或通过方向键可以直接改变选项)
MULTIPLE(多选)和EXTENDED(也是多选,但需要同时按住Shift和Ctrl或拖动鼠标实现
),默认是BROWSE
'''
root = Tk()
#height=11设置listbox组件的高度,默认是10行。
lb = Listbox(root, selectmode=EXTENDED, height=6)
lb.pack()
for item in ['公鸡','母鸡','小鸡','火鸡','战斗机',]:
    # END表示每插入一个都是在最后一个位置
    lb.insert(END,item)
bt = Button(root, text='删除', command=lambda x=lb:x.delete(ACTIVE))
bt.pack()
mainloop()


from tkinter import *
root = Tk()
ld = Listbox(root,selectmode=EXTENDED,height=7)
ld.grid(row=0,column=2)
for item in ['公鸡','母鸡','小鸡','火鸡','战斗机',]:
    ld.insert(END,item)
bt = Button(root,text="删除",command=lambda x=ld:x.delete(0,END))#删除所有内容
bt = Button(root,text="删除",command=lambda x=ld:x.delete(ACTIVE))#一次删除一个
bt.grid(row=1,column=0)
bt_1 = Button(root,text="退出",command=root.quit)
bt_1.grid(row=1,column=4)
mainloop()


***************************************************Scrollbar组件*****************************************************

猜你喜欢

转载自blog.csdn.net/weixin_45949073/article/details/106219382
今日推荐