• Python tkinter 笔记 [pack,place,grid 布局管理]


    疫情期间无聊,重回python练习GUI,网上基本PYQT5教程笔记多,但详细tkinter 的内容过少,因此笔记记录。

    1. 布局方法

    pack() 方法

    after=widget - #紧接后续控件
    anchor=NSEW (or subset) - # 坐标指定方向N,S,E,W 分别代表东西南北四个方位
    before=widget - 放在控件之前
    expand=bool - 若为1,同步放大控件
    fill=NONE   #设置控件全填充 ‘X’横方向 or ‘Y’纵方向 or ‘BOTH’全屏方向
    in=master #包含控件
    in_=master #包含控件,in_方便关键字用法
    ipadx=amount #横轴留余(内部留白的空间距离)
    ipady=amount #纵轴留余 (内部留白的空间距离)
    padx=amount  #横轴间余(外部间隔的空间距离)
    pady=amount  #纵轴间余 (外部间隔的空间距离)
    side=TOP or BOTTOM or LEFT or RIGHT #放置的空间方位


    place()方法
     in=master   #放置主控件内
     in_=master  #同上
     x=amount   #坐标位置x
     y=amount   #坐标位置y
     relx=amount  #x位置窗口比例
     rely=amount  #y位置窗口比例
     anchor=NSEW  #位置方向
     width=amount   #像素宽
     height=amount   #像素高
     relwidth=amount  #宽度比例,0-1 之间
     relheight=amount   #高度比例,0-1之间
     bordermode="inside" or "outside"   #考虑主控件边框

    Grid() 方法
    column=number 单元格的列0
    columnspan=number   占多个单元格列
    in=master 
    in_=master 
    ipadx=amount 
    ipady=amount 
    padx=amount 
    pady=amount 
    row=number   #行数 与column 相同
    rowspan=number  #占多个行
    sticky=NSEW  #单元格方位

    2. 布局使用

    2.1 主界面框架如下,则方便使用 grid() 方法来排布

     3. 实例 -python电子书

    源码

    import tkinter
    import tkinter as tk
    
    class window:
        def __init__(self):
            self.root = tk.Tk()
            self.root.geometry('900x600')
    
            self.listbox = tk.Listbox(self.root,width=35)
            for i in range(100):
                self.listbox.insert("end", "文章标题:"+str(i))
            self.listbox.pack(side="left", fill="both",padx=2,pady=10)
            self.article = tk.Label(self.root,text = "这里面是文章内容",bg='light green',justify=tk.LEFT).pack(side='top',padx=2,pady=10,fill='both',expand=1)
            self.scrollbar = tk.Scrollbar(self.article, orient=tk.HORIZONTAL)
            self.root.mainloop()
    
    if __name__ == '__main__':
        app = window()

    最后用pyinstaller 到出exe 即可

  • 相关阅读:
    Spring中的Bean的配置形式
    使用外部属性文件配置Bean以及Bean的生命周期方法
    运行时找到main方法所在的类
    获取SpringMVC中所有RequestMapping映射URL信息
    RequestBody只能读取一次的问题
    接口标记为@ResponseBody却不进入ResponseBodyAdvice
    springboot打成jar包后无法解压
    Springboot打包执行源码解析
    关于base64的一个小细节
    Liquibase使用入门
  • 原文地址:https://www.cnblogs.com/nerocm/p/12427893.html
Copyright © 2020-2023  润新知