目录
  • tkinter的锚点(anchor)问题
    • tkinter中anchor参数
  • 几何管理方法place中anchor的含义

    tkinter的锚点(anchor)问题

    tkinter中anchor参数

    (注意,参数的英文都是小写)

    字母 方位
    n
    s
    w 西
    e
    center 中心
    nw 西北
    ne 东北
    sw 西南
    se 东南
    from tkinter import *
    from tkinter import messagebox as box
    def main_menu():
        window = Tk()
        window.title('Juke Box')
        window.geometry('800x480')
        window.configure(background = 'black')
        label = Label(window, text = 'Juke-Box', fg = 'light green', bg = 'black', font = (None, 30), height = 2)
        label.pack(side = TOP)
        Jam = Button(window, text = 'The Jam', width = 25, height = 2)
        Jam.pack(pady = 10, padx = 25, anchor = 'n')
        Roses = Button(window, text = 'The Stone Roses', width = 25, height = 2)
        Roses.pack(pady = 10, padx = 25, anchor = 'w')
        Smiths = Button(window, text = 'The Smiths', width = 25, height = 2)
        Smiths.pack(pady = 10, padx = 25, anchor = 'w')
        Wedding = Button(window, text = 'The Wedding Pressent', width = 25, height = 2)
        Wedding.pack(pady = 10, padx = 25, anchor = 'w')
        Blondie = Button(window, text = 'Blondie', width = 25, height = 2)
        Blondie.pack(pady = 10, padx = 25, anchor = 'w')
        Clash = Button(window, text = 'Clash', width = 25, height = 2)
        Clash.pack(pady = 10, padx = 25, anchor = 'w')
        Madness = Button(window, text = 'Madness', width = 25, height = 2)
        Madness.pack(pady = 10, padx = 25, anchor = 'n')
        Pistols = Button(window, text = 'The Sex Pistols', width = 25, height = 2)
        Pistols.pack(pady = 10, padx = 25, anchor = 'n')
        window.mainloop()
    main_menu()

    几何管理方法place中anchor的含义

    关于place的用法,重点在于理解anchor的用法。

    在一个大矩形中准确地定义一个小矩形(有面积,不是点)的位置,需要知道三个信息:一是坐标系定义,二是坐标数据,三是要在小矩形上指定一个定位点。原点和坐标系完全是系统默认的定义方式,即原点在master控件的左上角,向右向下为正。

    坐标数据以相对形式给出,取0到1之间的浮点数。如果取0,则参考点横坐标为0(在最左侧),如果取1,则参考点横坐标为master控件的最右侧,纵坐标也是如此。

    定位点anchor的定义,这个是最终定位的关键。如图:

    python tkinter中的锚点(anchor)问题及处理

    如图,定义位置时,以master控件的左上角为原点,以给定的相对坐标(这里都是0.5)指定位置。

    每个控件都有9个anchor,选一个作为“把手”,将这个“把手”安放在指定位置即可。

    anchor='nw’的含义是“将控件的左上角安放在指定位置”。

    再如:

    python tkinter中的锚点(anchor)问题及处理

    anchor='n’的含义是“将控件的上边中点安放在指定位置”,其他的anchor同理。这可能就是为什么很多python技术文档中,习惯先指定坐标,最后再选择anchor。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。