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()
     
     
     
  • 相关阅读:
    Will Go eventually replace C++ as Google hoped when Go came out?
    5G到底什么时候来,它究竟能给我们带来什么?
    eog——Eye of GNOME Image Viewer
    Appweb——Embedded Web Server
    【2017】数字重排
    【9203】众数
    【2034】四人投票
    【9204】第k小整数
    【2031】求一元三次方程的解
    iOS 7: 如何为iPhone 5s编译64位应用
  • 原文地址:https://www.cnblogs.com/myshuzhimei/p/11764503.html
Copyright © 2011-2022 走看看