• tkinter学习(4)frame、pack、canvas学习


    1.frame和pack学习

    1.1 代码:

    import tkinter as tk
    
    window = tk.Tk()
    window.title('my window')
    window.geometry('600x400+500+0')
    
    #tk.Label(window, text='on the window').pack() #这种写法很简洁
    #与下面这种写法等同,注意pack的位置
    l=tk.Label(window, text='on the window')
    l.pack()
    
    frm = tk.Frame(window) #定义一个frame=frm,在Window上
    frm.pack()
    
    frm_l = tk.Frame(frm) #在frm上定义frm2个框架
    frm_r = tk.Frame(frm)
    frm_l.pack(side='left') #pack位置,side=left和right,当然还有top和bottom
    frm_r.pack(side='right')
    
    tk.Label(frm_l, text='on the frm_l1').pack()
    tk.Label(frm_r, text='on the frm_r1').pack()
    #这种布局是依次的,看懂了么?
    tk.Label(frm_l, text='on the frm_l2').pack()
    tk.Label(frm_l, text='on the frm_l3').pack()
    tk.Label(frm_l, text='on the frm_l4').pack()
    tk.Label(frm_l, text='on the frm_l5').pack()
    
    window.mainloop()
    View Code

    1.2 图1

    2.canvas画布的学习

    2.1 代码:

    import tkinter as tk
    #初始定义窗口,标题,大小和位置
    window = tk.Tk()
    window.title('my window')
    window.geometry('800x500+500+0')
    #定义画布canvas(是位于Window的一个画布)、大小和背景颜色,pack布局方法2种,但这里只能这种
    canvas = tk.Canvas(window, bg='pink', height=300, width=300)
    canvas.pack() 
    #canvas = tk.Canvas(window, bg='pink', height=300, width=300).pack() #这种布局就会报错
    #因为以下的功能属性比如create_image是canvas的属性
    #---------以下这些是canvas的内容
    #定义导入图片设置
    image_file = tk.PhotoImage(file='ins.gif') #图片ins.gif这种代表系统的默认位置本机位置是:/home/xgj
    #0,0,是指坐标x=0,y=0,就是左上角顶点处
    # anchor就是錨定位置为nw(必须是小写)=西北角,当然也可以是center等等
    image = canvas.create_image(0, 0, anchor='nw', image=image_file)
    #初始赋值
    x0, y0, x1, y1= 50, 50, 80, 80
    #画图形设置
    line = canvas.create_line(x0, y0, x1, y1) #画线
    oval = canvas.create_oval(x0, y0, x1, y1, fill='red') #画圆
    #注意参数start从0°(水平向右的为0°)开始,到extent120°(往左画扇形,120°就会更直观)结束
    arc = canvas.create_arc(x0+80, y0+80, x1+80, y1+80, start=0, extent=120) #画扇形
    rect = canvas.create_rectangle(100, 30, 100+20, 30+20) #画长方形
    
    #-------以上是canvas的内容
    #canvas.pack() ,也可以放在这个位置
    
    #定义函数
    def moveit():
    canvas.move(rect, 0, 2) 
    #move的对象是rect这个正方形,x=0,y=2,就是x坐标不变,y坐标每次向下移动2个像素
    
    b = tk.Button(window, text='move', command=moveit).pack() #这种pack没有关系
    
    window.mainloop()
    View Code

    2.2 图2

  • 相关阅读:
    SDN第二次作业
    SDN第一次上机作业
    SDN第一次作业
    alpha冲刺第四天
    alpha冲刺第二天
    alpha冲刺第一天
    项目需求分析
    结对第二次作业
    团队选题报告(i know)
    结对作业——原型设计
  • 原文地址:https://www.cnblogs.com/ysysbky/p/12201923.html
Copyright © 2020-2023  润新知