python tkinter 基本使用

chouliqingke 2019-12-24

这里只放表格和一个控件基本属性

grid(**options) 属性
-- 下方表格详细列举了各个选项的具体含义和用法:

选项 含义
column 1. 指定组件插入的列(0 表示第 1 列)
2. 默认值是 0
columnspan 指定用多少列(跨列)显示该组件
in_ 1. 将该组件放到该选项指定的组件中
2. 指定的组件必须是该组件的父组件
ipadx 指定水平方向上的内边距
ipady 指定垂直方向上的内边距
padx 指定水平方向上的外边距
pady 指定垂直方向上的外边距
row 指定组件插入的行(0 表示第 1 行)
rowspan 指定用多少行(跨行)显示该组件
sticky 1. 控制组件在 grid 分配的空间中的位置
2. 可以使用 "n", "e", "s", "w" 以及它们的组合来定位(ewsn代表东西南北,上北下南左西右东)
3. 使用加号(+)表示拉长填充,例如 "n" + "s" 表示将组件垂直拉长填充网格,"n" + "s" + "w" + "e" 表示填充整个网格
4. 不指定该值则居中显示

Frame(master=None, **options) (class) 其它基本大同小异

master -- 父组件

**options -- 组件选项,下方表格详细列举了各个选项的具体含义和用法:

选项 含义
background 1. 设置 Frame 组件的背景颜色
2. 默认值由系统指定
3. 为了防止更新,可以将颜色值设置为空字符串
bg 跟 background 一样
borderwidth 1. 指定 Frame 的边框宽度
2. 默认值是 0
bd 跟 borderwidth 一样
class_ 默认值是 Frame
colormap 1. 有些显示器只支持 256 色(有些可能更少),这种显示器通常提供一个颜色映射来指定要使用要使用的 256 种颜色
2. 该选项允许你指定用于该组件以及其子组件的颜色映射
3. 默认情况下,Frame 使用与其父组件相同的颜色映射
4. 使用此选项,你可以使用其他窗口的颜色映射代替(两窗口必须位于同个屏幕并且具有相同的视觉特性)
5. 你也可以直接使用 "new" 为 Frame 组件分配一个新的颜色映射
6. 一旦创建 Frame 组件实例,你就无法修改这个选项的值
container 1. 该选项如果为 True,意味着该窗口将被用作容器,一些其它应用程序将被嵌入 
2. 默认值是 False
cursor 1. 指定当鼠标在 Frame 上飘过的时候的鼠标样式
2. 默认值由系统指定
height 1. 设置 Frame 的高度
2. 默认值是 0
highlightbackground 1. 指定当 Frame 没有获得焦点的时候高亮边框的颜色
2. 默认值由系统指定,通常是标准背景颜色
highlightcolor 1. 指定当 Frame 获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightthickness 1. 指定高亮边框的宽度
2. 默认值是 0(不带高亮边框)
padx 水平方向上的边距
pady 垂直方向上的边距
relief 1. 指定边框样式
2. 默认值是 "flat"
3. 另外你还可以设置 "sunken","raised","groove" 或 "ridge"
4. 注意,如果你要设置边框样式,记得设置 borderwidth 或 bd 选项不为 0,才能看到边框
takefocus 1. 指定该组件是否接受输入焦点(用户可以通过 tab 键将焦点转移上来)
2. 默认值是 False
visual 1. 为新窗口指定视觉信息
2. 该选项没有默认值
width 1. 设置 Frame 的宽度
2. 默认值是 0

import tkinter as tk

win = tk.Tk()
win.title("yudanqu")
fm = tk.Frame(win,bg=‘red‘, padx =10, pady = 10)
lb1 = tk.Label(fm,text = "用户名")
lb2 = tk.Label(fm,text = "密码")
en1 = tk.Entry(fm)
en2 = tk.Entry(fm)

fm.grid()
lb1.grid(row = 0, column = 0, sticky = ‘e‘,padx = 5,pady = 10)
lb2.grid(row = 1, column = 0, sticky = ‘e‘+‘w‘,padx = 5)
en1.grid(row = 0, column = 1,padx = 5,pady = 10)
en2.grid(row = 1, column = 1)



win.mainloop()

相关推荐