zoukankan      html  css  js  c++  java
  • Tkinter之Frame

    Frame俗称框架,用来承载放置其他GUI元素,可以理解为一个容器。
    它能将 Windows 分成不同的区,然后存放不同的部件. 同时一个Frame 也能再分成多个子Frame。
    在有不同的界面逻辑层级和功能区域划分时可以用到,让交互界面逻辑更加清晰。
     
    示例1:体会Frame指定区域的作用
    from Tkinter import *
    root = Tk()
    fm = []
     
    #以不同的颜色区别各个frame
    for color in ['red','blue']:
       #注意这个创建Frame的方法与其它创建控件的方法不同,第一个参数不是root
        fm.append(Frame(height = 20,width = 100,bg = color))
     
    fm[0].pack()
    fm[1].pack()
     
    def Call():
       #Label被添加到指定的Frame中了,而不是root默认的最上方
        Label(fm[1],text = 'Hello label').pack()
        
    Button(root,text='red',width=5,command=Call).pack(side='left')
     
    root.mainloop()
     
    注意:
    一旦Frame上面放置了部件,那么Frame的背景色就会消去,变成无法肉眼辨别的底层容器。
     
    示例2:体会父子Frame划分区域的作用
    import Tkinter as tk 
    window = tk.Tk()
    window.title('My Window')
    window.geometry('500x300')  
     
    #创建主框架frame
    frame = tk.Frame(window)
    frame.pack()
     
    #创建第二层框架frame,放置在主框架frame上。第二层frame有2个,一个放左,一个放右
    frame_l = tk.Frame(frame)
    frame_r = tk.Frame(frame)
    frame_l.pack(side='left')
    frame_r.pack(side='right')
     
    #创建多个标签,分别放置在第二层的2个frame上
    tk.Label(frame_l, text='物料表格', bg='green').pack()
    tk.Label(frame_l, text='入库表格', bg='green').pack()
    tk.Label(frame_r, text='物料属性', bg='yellow').pack()
    tk.Label(frame_r, text='入库属性', bg='yellow').pack()
     
    window.mainloop()
     
     
     
  • 相关阅读:
    AC自动机模板2(【CJOJ1435】)
    AC自动机模板1(【洛谷3808】)
    【HDU 2063】过山车(二分图最大匹配模板题)
    矩阵快速幂
    Trie树
    AC自动机
    高斯消元法
    KMP算法 Next数组详解
    端口映射
    最全面的HashMap和HashTable的区别
  • 原文地址:https://www.cnblogs.com/myshuzhimei/p/11764503.html
Copyright © 2011-2022 走看看