精华内容
下载资源
问答
  • 一、目标学习Tkinter制作窗体软件的基础,控件相对于窗体的绝对布局和相对布局、表格布局二、试验平台windows7 , python3.7三、绝对布局示例代码import tkinterfrom tkinter import ttkwin = tkinter.Tk()win.title...

    一、目标

    学习Tkinter制作窗体软件的基础,控件相对于窗体的绝对布局和相对布局、表格布局

    二、试验平台

    windows7 , python3.7

    三、绝对布局示例代码

    import tkinter

    from tkinter import ttk

    win = tkinter.Tk()

    win.title("Kahn Software v1")    # #窗口标题

    win.geometry("600x500+200+20")   # #窗口位置500后面是字母x

    '''

    绝对布局

    '''

    label1 = tkinter.Label(win, text="柳多妍", bg="pink")

    label2 = tkinter.Label(win, text="多多", bg="yellow")

    label3 = tkinter.Label(win, text="超级飞侠", bg="red")

    # label1.pack()   # #默认没有布局,字有多长,背景也有多长,和其他label错落显示

    # label2.pack()

    # label3.pack()

    label1.place(x=10, y=10)   # #固定坐标,按绝对布局显示,窗口大小的变化对布局没有影响

    label2.place(x=50, y=50)

    label3.place(x=100, y=100)

    win.mainloop()   # #窗口持久化

    四、相对布局

    import tkinter

    from tkinter import ttk

    win = tkinter.Tk()

    win.title("Kahn Software v1")    # #窗口标题

    win.geometry("600x500+200+20")   # #窗口位置500后面是字母x

    '''

    相对布局,窗体改变对空间有影响

    '''

    label1 = tkinter.Label(win, text="柳多妍", bg="pink")

    label2 = tkinter.Label(win, text="多多", bg="yellow")

    label3 = tkinter.Label(win, text="超级飞侠", bg="red")

    label1.pack(fill=tkinter.Y, side=tkinter.LEFT)    # #相对布局

    label2.pack(fill=tkinter.X, side=tkinter.TOP)

    label3.pack()

    win.mainloop()   # #窗口持久化

    五、表格布局

    import tkinter

    from tkinter import ttk

    win = tkinter.Tk()

    win.title("Kahn Software v1")    # #窗口标题

    win.geometry("600x500+200+20")   # #窗口位置500后面是字母x

    '''

    相对布局,窗体改变对空间有影响

    '''

    label1 = tkinter.Label(win, text="柳多妍", bg="pink")

    label2 = tkinter.Label(win, text="多多", bg="yellow")

    label3 = tkinter.Label(win, text="超级飞侠", bg="red")

    label4 = tkinter.Label(win, text="小猪佩奇", bg="green")

    label1.grid(row=0, column=0)

    label2.grid(row=0, column=1)

    label3.grid(row=1, column=0)

    label4.grid(row=1, column=1)

    win.mainloop()   # #窗口持久化

    kahn 2019年5月1日10:03:56

    展开全文
  • Python笔记之Tkinter(绝对布局、相对布局、表格布局)

    万次阅读 多人点赞 2019-05-01 10:04:14
    学习Tkinter制作窗体软件的基础,控件相对于窗体的绝对布局和相对布局、表格布局 二、试验平台 windows7 , python3.7 三、绝对布局示例代码 import tkinter from tkinter import ttk win = tkinter.Tk() win....

    一、目标

    学习Tkinter制作窗体软件的基础,控件相对于窗体的绝对布局和相对布局、表格布局

    二、试验平台

    windows7 , python3.7

    三、绝对布局示例代码

    import tkinter
    from tkinter import ttk
    
    
    win = tkinter.Tk()
    win.title("Kahn Software v1")    # #窗口标题
    win.geometry("600x500+200+20")   # #窗口位置500后面是字母x
    '''
    绝对布局
    '''
    label1 = tkinter.Label(win, text="柳多妍", bg="pink")
    label2 = tkinter.Label(win, text="多多", bg="yellow")
    label3 = tkinter.Label(win, text="超级飞侠", bg="red")
    # label1.pack()   # #默认没有布局,字有多长,背景也有多长,和其他label错落显示
    # label2.pack()
    # label3.pack()
    label1.place(x=10, y=10)   # #固定坐标,按绝对布局显示,窗口大小的变化对布局没有影响
    label2.place(x=50, y=50)
    label3.place(x=100, y=100)
    win.mainloop()   # #窗口持久化
    

      

    四、相对布局

    import tkinter
    from tkinter import ttk
    
    
    win = tkinter.Tk()
    win.title("Kahn Software v1")    # #窗口标题
    win.geometry("600x500+200+20")   # #窗口位置500后面是字母x
    '''
    相对布局,窗体改变对空间有影响
    '''
    label1 = tkinter.Label(win, text="柳多妍", bg="pink")
    label2 = tkinter.Label(win, text="多多", bg="yellow")
    label3 = tkinter.Label(win, text="超级飞侠", bg="red")
    label1.pack(fill=tkinter.Y, side=tkinter.LEFT)    # #相对布局
    label2.pack(fill=tkinter.X, side=tkinter.TOP)
    label3.pack()
    
    win.mainloop()   # #窗口持久化
    

    五、表格布局

    import tkinter
    from tkinter import ttk
    
    
    win = tkinter.Tk()
    win.title("Kahn Software v1")    # #窗口标题
    win.geometry("600x500+200+20")   # #窗口位置500后面是字母x
    '''
    相对布局,窗体改变对空间有影响
    '''
    label1 = tkinter.Label(win, text="柳多妍", bg="pink")
    label2 = tkinter.Label(win, text="多多", bg="yellow")
    label3 = tkinter.Label(win, text="超级飞侠", bg="red")
    label4 = tkinter.Label(win, text="小猪佩奇", bg="green")
    label1.grid(row=0, column=0)
    label2.grid(row=0, column=1)
    label3.grid(row=1, column=0)
    label4.grid(row=1, column=1)
    
    win.mainloop()   # #窗口持久化
    

    kahn 2019年5月1日10:03:56

    展开全文
  • Grid(网格)布局管理器会将控件放置到一个二维的表格里。主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件。注意:不要试图在一个主窗口中混合使用pack和grid(1)标签控件1 from tkinter ...

    Grid(网格)布局管理器会将控件放置到一个二维的表格里。主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件。

    1127624-20170824180611230-235131676.png

    1127624-20170824180756121-794857759.png

    注意:不要试图在一个主窗口中混合使用pack和grid

    (1)标签控件

    1 from tkinter import *

    2

    3 tk=Tk()4 #标签控件,显示文本和位图,展示在第一行

    5 Label(tk,text="First").grid(row=0)6 Label(tk,text="Second").grid(row=1)#第二行

    7

    8 #主事件循环

    9 mainloop()

    1127624-20170824201559714-1920879876.png

    (2) 输入控件

    1 from tkinter import *

    2

    3 tk=Tk()4 #标签控件,显示文本和位图,展示在第一行

    5 Label(tk,text="First").grid(row=0)6 Label(tk,text="Second").grid(row=1)#第二行

    7

    8 #输入控件

    9 Entry(tk).grid(row=0,column=1)10 Entry(tk).grid(row=1,column=1)11

    12 #主事件循环

    13 mainloop()

    1127624-20170824201857902-1828926380.png

    (3)sticky参数的使用

    1 from tkinter import *

    2

    3 tk=Tk()4 #标签控件,显示文本和位图,展示在第一行

    5 Label(tk,text="First").grid(row=0,sticky=E)#靠右

    6 Label(tk,text="Second").grid(row=2,sticky=W)#第二行,靠左

    7

    8 #输入控件

    9 Entry(tk).grid(row=0,column=1)10 Entry(tk).grid(row=2,column=1)11

    12 #主事件循环

    13 mainloop()

    1127624-20170824203829918-1226562134.png

    (4)columnspan和rowspan参数的使用

    columnspan选项可以指定控件跨越多列显示,而rowspan选项同样可以指定控件跨越多行显示。

    1 from tkinter import *

    2

    3 tk=Tk()4 var=IntVar()5

    6 #标签控件,显示文本和位图,展示在第一行

    7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

    8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

    9

    10 #输入控件

    11 Entry(tk).grid(row=0,column=1)12 Entry(tk).grid(row=1,column=1)13

    14 button=Checkbutton(tk,text="Precerve aspect",variable=var)15 button.grid(sticky=W)16

    17 #主事件循环

    18 mainloop()

    1127624-20170824205608949-913559490.png

    跨越两列显示如下

    1 from tkinter import *

    2

    3 tk=Tk()4 var=IntVar()5

    6 #标签控件,显示文本和位图,展示在第一行

    7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

    8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

    9

    10 #输入控件

    11 Entry(tk).grid(row=0,column=1)12 Entry(tk).grid(row=1,column=1)13

    14 button=Checkbutton(tk,text="Precerve aspect",variable=var)15 button.grid(columnspan=2,sticky=W)16

    17 #主事件循环

    18 mainloop()

    1127624-20170824205706980-787728550.png

    1 from tkinter import *

    2

    3 tk=Tk()4 var=IntVar()5

    6 #标签控件,显示文本和位图,展示在第一行

    7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

    8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

    9

    10 #输入控件

    11 Entry(tk).grid(row=0,column=1)12 Entry(tk).grid(row=1,column=1)13

    14 #多选框插件

    15 button=Checkbutton(tk,text="Precerve aspect",variable=var)16 button.grid(row=2,columnspan=2,sticky=W)17

    18 #插入图片

    19 photo=PhotoImage(file="python_logo.gif")20 label=Label(image=photo)21 label.image=photo22 label.grid(row=0,column=2)23

    24 #主事件循环

    25 mainloop()

    1127624-20170824210311168-1461931317.png

    1 from tkinter import *

    2

    3 tk=Tk()4 var=IntVar()5

    6 #标签控件,显示文本和位图,展示在第一行

    7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

    8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

    9

    10 #输入控件

    11 Entry(tk).grid(row=0,column=1,padx=10,pady=10)12 Entry(tk).grid(row=1,column=1)13

    14 #多选框插件

    15 button=Checkbutton(tk,text="Precerve aspect",variable=var)16 button.grid(row=2,columnspan=2,sticky=W)17

    18 #插入图片

    19 photo=PhotoImage(file="python_logo.gif")20 label=Label(image=photo)21 label.image=photo22 label.grid(row=0,column=2,rowspan=2,columnspan=2,23 sticky=W+E+N+S, padx=5, pady=5)#合并两行,两列,居中,四周外延5个长度

    24

    25 #主事件循环

    26 mainloop()

    1127624-20170824211040105-160974882.png

    (5)

    1 from tkinter import *

    2

    3 tk=Tk()4 var=IntVar()5

    6 #标签控件,显示文本和位图,展示在第一行

    7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

    8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

    9

    10 #输入控件

    11 Entry(tk).grid(row=0,column=1,padx=10,pady=10)12 Entry(tk).grid(row=1,column=1)13

    14 #多选框插件

    15 button=Checkbutton(tk,text="Precerve aspect",variable=var)16 button.grid(row=2,columnspan=2,sticky=W)17

    18 #插入图片

    19 photo=PhotoImage(file="python_logo.gif")20 label=Label(image=photo)21 label.grid(row=0,column=2,rowspan=2,columnspan=2,22 sticky=W+E+N+S, padx=5, pady=5)#合并两行,两列,居中,四周外延5个长度

    23

    24 #按钮控件

    25 button1=Button(tk,text="Zoom in")26 button1.grid(row=2,column=2)27 button2=Button(tk,text="Zoom out")28 button2.grid(row=2,column=3)29

    30

    31 #主事件循环

    32 mainloop()

    1127624-20170824211524871-833488567.png

    (6)padx和pady参数的应用

    1 from tkinter import *

    2 importtime3

    4 t =Tk()5 t.title('与python聊天中')6

    7 #创建frame容器

    8 frmLT = Frame(width=500, height=320, bg='white')9 frmLC = Frame(width=500, height=150, bg='red')10 frmLB = Frame(width=500, height=30)11 frmRT = Frame(width=200, height=500)12

    13 frmLT.grid(row=0, column=0)14 frmLC.grid(row=1, column=0)15 frmLB.grid(row=2, column=0)16 frmRT.grid(row=0, column=1, rowspan=3)

    1127624-20170824223950543-438341273.png

    1 from tkinter import *

    2 importtime3

    4 t =Tk()5 t.title('与python聊天中')6

    7 #创建frame容器

    8 frmLT = Frame(width=500, height=320, bg='white')9 frmLC = Frame(width=500, height=150, bg='red')10 frmLB = Frame(width=500, height=30)11 frmRT = Frame(width=200, height=500)12

    13 frmLT.grid(row=0, column=0,padx=1,pady=3)14 frmLC.grid(row=1, column=0,padx=1,pady=3)15 frmLB.grid(row=2, column=0)16 frmRT.grid(row=0, column=1, rowspan=3,padx=2,pady=3)

    1127624-20170824225115808-1880395380.png

    利用padx和pady,可以将框架边界区分开

    1 from tkinter import *

    2 importtime3

    4 t =Tk()5 t.title('与python聊天中')6

    7 #创建frame容器

    8 frmLT = Frame(width=500, height=320, bg='white')9 frmLC = Frame(width=500, height=150, bg='red')10 frmLB = Frame(width=500, height=30)11 frmRT = Frame(width=200, height=500)12

    13 frmLT.grid(row=0, column=0,padx=1,pady=3)14 frmLC.grid(row=1, column=0,padx=1,pady=3)15 frmLB.grid(row=2, column=0)16 frmRT.grid(row=0, column=1, rowspan=3,padx=2,pady=3)17

    18 '''#固定容器大小19 frmLT.grid_propagate(0)20 frmLC.grid_propagate(0)21 frmLB.grid_propagate(0)22 frmRT.grid_propagate(0)'''

    23

    24 #添加按钮

    25 btnSend = Button(frmLB, text='发 送', width = 8)#在frmLB容器中添加

    26 btnSend.grid(row=2,column=0)27 btnCancel = Button(frmLB, text='取消', width = 8)28 btnCancel.grid(row=2,column=1,sticky=E)29

    30 #添加图片

    31 imgInfo = PhotoImage(file = "python_logo.gif")32 lblImage = Label(frmRT, image =imgInfo)33 lblImage.image =imgInfo34 lblImage.grid()35

    36 #固定容器大小

    37 frmLT.grid_propagate(0)38 frmLC.grid_propagate(0)39 frmLB.grid_propagate(0)40 frmRT.grid_propagate(0)

    1127624-20170824231549027-1210377031.png

    展开全文
  • python tkinter grid布局

    2021-03-25 22:25:04
    grid布局 将控件作为单元格[cell]放到一个表格里 每个单元格根据控件的尺寸调整自己的尺寸 关键词[row]表示当前的行 关键字[column]表示当前的列 from tkinter import * window =Tk() window.title("dalaojun") ...

    grid布局 将控件作为单元格[cell]放到一个表格里 每个单元格根据控件的尺寸调整自己的尺寸
    关键词[row]表示当前的行
    关键字[column]表示当前的列

    from tkinter import *
    window =Tk()
    window.title("dalaojun")
    window["background"]="#191970"
    window.geometry("300x250+30+30")
    i=["red","green","orange","white","yellow","blue"]
    a=0
    for p in i:
        # 参数relief关键字参数 表示Label控件的边缘效果
        # grid()函数 里面的参数 row=数字[从0开始计算] 表示当前的行 column=数字[从0开始计算]   表示当前的列
        Label(window,text=p,relief=RIDGE,width=10).grid(row=a,column=0)
        Label(window,bg=p,relief=SUNKEN,width=12).grid(row=a,column=1)
        Label(window,text=p,relief=RIDGE,width=15).grid(row=a,column=2)
        a=a+1
    Label(window,text="RIDGE",relief=RIDGE,width=15).grid(row=6,column=0)
    Label(window,text="RIDGE",relief=RIDGE,width=15).grid(row=6,column=1)
    Label(window,text="RIDGE",relief=RIDGE,width=15).grid(row=6,column=2)
    Label(window,text="SUNKEN",relief=SUNKEN,width=15).grid(row=7,column=0)
    Label(window,text="SUNKEN",relief=SUNKEN,width=15).grid(row=7,column=1)
    Label(window,text="SUNKEN",relief=SUNKEN,width=15).grid(row=7,column=2)
    Label(window,text="FLAT",relief=FLAT,width=15).grid(row=8,column=0)
    Label(window,text="FLAT",relief=FLAT,width=15).grid(row=8,column=1)
    Label(window,text="FLAT",relief=FLAT,width=15).grid(row=8,column=2)
    Label(window,text="RAISED",relief=RAISED,width=15).grid(row=9,column=0)
    Label(window,text="RAISED",relief=RAISED,width=15).grid(row=9,column=1)
    Label(window,text="RAISED",relief=RAISED,width=15).grid(row=9,column=2)
    Label(window,text="GROOVE",relief=GROOVE,width=15).grid(row=10,column=0)
    Label(window,text="GROOVE",relief=GROOVE,width=15).grid(row=10,column=1)
    Label(window,text="GROOVE",relief=GROOVE,width=15).grid(row=10,column=2)
    
    mainloop()
    

    在这里插入图片描述

    展开全文
  • Python Tkinter Grid布局管理器详解

    千次阅读 2016-01-18 13:07:26
    Grid(网格)布局管理器会将控件放置到一个二维的表格里。主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件。 什么时候使用Grid管理器 grid管理器是Tkinter里面最灵活的几何...
  • 什么时候使用Grid管理器grid管理器是Tkinter里面最灵活的几何管理布局器。如果你不确定什么情况下从三种布局管理中选择,你至少要保证自己会使用grid。当你设计对话框的时候,grid布局管理器是一个非常方便的工具。...
  • 什么时候使用Grid管理器grid管理器是Tkinter里面最灵活的几何管理布局器。如果你不确定什么情况下从三种布局管理中选择,你至少要保证自己会使用grid。当你设计对话框的时候,grid布局管理器是一个非常方便的工具。...
  • grid管理器是Tkinter里面最灵活的几何管理布局器。如果你不确定什么情况下从三种布局管理中选择,你至少要保证自己会使用grid。 当你设计对话框的时候,grid布局管理器是一个非常方便的工具。如果你之前使用
  • grid管理器是Tkinter里面最灵活的几何管理布局器。如果你不确定什么情况下从三种布局管理中选择,你至少要保证自己会使用grid。 当你设计对话框的时候,grid布局管理器是一个非常方便的工具。如果你之前使用pack...
  • 看到很多人在学tkinter,其实用Python做布局,没有人这么干。但还是更新几节tkinter,在Python从入门到大师教程中来。tkinterTkinter包是Python附带的标准软件包,所以我们不需要安装任何东西就可以使用它。窗口主体...
  • 本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html @ 箬笠蓑衣Grid(网格)布局管理器会将控件放置到一个二维的表格里。主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件...
  • tkinter 布局管理器

    2021-01-08 15:54:00
    grid 表格布局,采用表格结构组织组件。子组件的位置由 行和列的单元格来确定,并且可以跨行和跨列,从而实现复 杂的布局。 grid()方法提供的选项 【示例】grid 布局用法-登录界面设计 from tkinter import * from
  • class GridManagerDemo: def __init__(self): # 窗口和标题 ...网格布局管理器") # 在窗口上创建若干控件 msg = Message(window, text="我是消息,我是消息,我是消息,我是消息") ...
  • 关于tkinter里面anchor和side和sticky的区别 事实上,side和sticky都是表示的对齐方式,但是要对齐,肯定有一个相对的位置,而这个位置就是anchor设定的值,这里我用一个图来表示出来! 清楚的看见只有pack有side...
  • Grid(网格)布局管理器会将控件放置到一个二维的表格里。主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件。 注意:不要试图在一个主窗口中混合使用pack和grid (1)标签控件 1 ...
  • 绝对布局 import tkinter from tkinter import ttk win = tkinter.Tk() win.title("xinghaohan") win.geometry("600x400+200+20") label1=tkinter.Label(win, text="good", bg=&...
  • import tkinterwin = tkinter.Tk()win.title("用Label和text表格布局")win.geometry("800x600+600+100")label1=tkinter.Label(win,text="good",bg="blue")label2=tkinter.Label(win,text="nice",bg="red")label3=...
  • python tkinter 布局方法

    千次阅读 2017-11-30 09:28:26
    转自:...Tkinter参考中最推荐使用的一个布局器。实现机制是将Widget逻辑上分割成表格,在指定的位置放置想要
  • Tkinter之组件布局和事件绑定

    千次阅读 2018-06-26 16:59:02
    原文博客地址: Tkinter之组件布局和事件绑定 前面的一些文章介绍了Tkinter模块和大部分组建的使用 这里主要介绍数据的操作和组件布局等 GitHub代码示例目地址 一. 数据显示 在tkinter中的数据展示方式有两种...
  • Tkinter的三种布局|GUI编程

    千次阅读 2019-08-26 15:44:17
    1、pack布局:我们已经接触过tkinter的一种布局了,就是pack布局,它非常简单,我们不用做过多的设置,直接使用一个pack函数就可以了。 2、grid布局:grid布局可以理解为网格,或者表格,它可以把界面设置为几行...
  • Tkinter打造GUI开发工具(12)Tkinter小部件的grid布局 部件的网格放置grid()方法是使用行列位置的方法放置部件。 grid()方法布局管理器会将控件放置到一个二维的表格里。主控件被分割成一系列的行和列,表格中的...

空空如也

空空如也

1 2 3 4
收藏数 63
精华内容 25
关键字:

tkinter表格布局