python Tkinter库详解

来源:互联网 发布:朗朗数码的mac怎么样 编辑:程序博客网 时间:2024/05/21 13:12

python Tkinter是内置的库,无需安装


用具体的实例讲解Tkinter库使用:

用上下左右方向键以及回车对红色方格做出相应的移动

# -*- coding: utf-8 -*-from Tkinter import *def main():    #创建tk对象    tk=Tk()    #创建画布    canvas=Canvas(tk,width=400,height=400)    canvas.pack()    #在画布上创建文字    canvas.create_text(200,40,text="welcome to Tkinter",fill="blue",font=("Times",16))    #在画布上创建图片,tkinter只能显示gif文件    myImage=PhotoImage(file="timg.gif")    canvas.create_image(10,70,anchor=NW,image=myImage)#以(10,70)为西北角显示图像    #move中的第一个参数表示移动canvas里的第几个对象    def moverectangle(event):        if event.keysym == "Up":            canvas.move(3,0,-5)        elif event.keysym=="Down":            canvas.move(3,0,5)        elif event.keysym=="Left":            canvas.move(3,-5,0)        elif event.keysym=="Right":            canvas.move(3,5,0)        else:            canvas.move(3,5,5)    canvas.create_rectangle(200,200,220,220,fill="red")    #让tkinter监视KeyPress事件,当该事件发生时调用moverectangle函数    #bind_all第2个参数是回调函数,不能接收参数传递,所以在函数内部建立回调函数    canvas.bind_all("<KeyPress-Up>",moverectangle)    canvas.bind_all("<KeyPress-Down>", moverectangle)    canvas.bind_all("<KeyPress-Left>",moverectangle)    canvas.bind_all("<KeyPress-Right>", moverectangle)    canvas.bind_all("<KeyPress-Return>",moverectangle)    tk.mainloop()main()


实例2:利用Tkinter库创建聊天界面


# -*- coding: utf-8 -*-from Tkinter import *from time import *def main():    def sendMsg():        strtime="我:"+strftime("%Y-%m-%d %H:%M:%S",localtime())+"\n"        txtMsgList.insert(END,strtime,'greencolor')        #0.0是0行0列到END,表示全部,END表示插入末端        txtMsgList.insert(END,txtMsg.get('0.0',END))        txtMsg.delete('0.0',END)    def cancelMsg():        txtMsg.delete('0.0',END)    def sendMsgEvent(event):        if event.keysym=="Return":            sendMsg()    tk=Tk()    tk.title("python聊天室")    # 创建frame容器    frameLT = Frame(width=500, height=320)    frameLC = Frame(width=500, height=150,bg="red")    frameLB = Frame(width=500, height=30)    frameRT = Frame(width=200, height=500)    #创建控件    txtMsgList=Text(frameLT)    #配置标签tag的属性,第一个参数为tag名字,第2个参数为前景色,背景色为默认白色    txtMsgList.tag_config("greencolor", foreground='#008C00')    txtMsg=Text(frameLC)    txtMsg.bind_all("<KeyPress-Return>",sendMsgEvent)    btnSend=Button(frameLB,text="send",width=8,command=sendMsg)    btnCancel=Button(frameLB,text="cancel",width=8,command=cancelMsg)    myImage=PhotoImage(file="python.gif")    label=Label(frameRT,image=myImage)    #窗体布局    frameLT.grid(row=0, column=0, columnspan=2,padx=1,pady=5)    frameLC.grid(row=1, column=0, columnspan=2)    frameLB.grid(row=2, column=0, columnspan=2)    frameRT.grid(row=0, column=2, rowspan=3,padx=5,pady=4)    # 固定大小    frameLT.grid_propagate(0)    frameLC.grid_propagate(0)    frameLB.grid_propagate(0)    frameRT.grid_propagate(0)    #控件布局    btnSend.grid(row=2, column=0)    btnCancel.grid(row=2, column=1)    label.grid()    txtMsgList.grid()    txtMsg.grid()    #主事件循环    tk.mainloop()main()


原创粉丝点击