【问题标题】:How can I make the title become in the center of the window using grid?如何使用网格使标题成为窗口的中心?
【发布时间】:2018-09-09 16:46:31
【问题描述】:

这是我的代码,我还在努力让它显示在页面顶部的中间。

    TR= Tk()
    TR.geometry('600x600')

    TR.title('BEGINNER')

    title = Label(TR, text = 'CENTER', anchor = CENTER, justify = CENTER)

    title.grid(row = 0, columnspan = 20, sticky = N+S+E+W)

【问题讨论】:

标签: python python-2.7 tkinter


【解决方案1】:

有点不清楚你的问题是什么。

您无法准确地将实际窗口标题居中,但您可以将标签居中。

看看下面的代码。

from tkinter import *

TR= Tk()
TR.geometry('300x100')

TR.title('BEGINNER')
TR.columnconfigure(0, weight=1)

Label(TR, text = 'CENTER').grid(row = 0, sticky = "ew")

TR.mainloop()

如果您想更改实际窗口标题的位置,还有另一个选项有时可能会起作用。

请注意,该功能是从Tkinter : How to center the window title Tkinter : How to center the window title 复制和现有的Q/A

from tkinter import *

TR= Tk()
TR.geometry('300x100')

TR.title('BEGINNER')
TR.columnconfigure(0, weight=1)

title = Label(TR, text = 'CENTER')
title.grid(row = 0, sticky = "ew")

def configure(event):
    w = int(TR.winfo_width() / 3.5)
    s = 'BEGINNER'.rjust(w//2)
    TR.title(s)

TR.bind("<Configure>", configure)

TR.mainloop()

从下图中可以看出,它不是 100% 居中,并且在调整大小时会稍微移动。所以这可能也不是你想要的。一般来说,没有一种现有的方法可以用来将标题准确地放在窗口标题栏的中心。

我能想到的还有一个选择... 您可以禁用/隐藏标题栏并创建自己的标题栏。 它很可能看起来不太好,但您可以在其上居中放置一个标签作为标题栏。

【讨论】:

    猜你喜欢
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    相关资源
    最近更新 更多