Tkinter : How to center the window title

大憨熊 提交于 2020-01-05 02:46:07

问题


I am creating a project using tkinter and when I create a window, I couldn't seem to get the window title to center itself (Like most programs nowadays). Here's the example code:

from tkinter import *

root = Tk()
root.title("Window Title".center(110))# Doesn't seem to work

root.mainloop()

Is there a way to center the window title up ? Thanks in advance


回答1:


There is nothing you can do. Tkinter has no control over how the window manager or OS displays the titles of windows other than to specify the text.




回答2:


I came up with a trick that does the job and it consists in simply adding as much blank space before the title:

import tkinter as tk

root = tk.Tk()
root.title("                                                                          Window Title")# Add the blank space
frame = tk.Frame(root, width=800, height=200, bg='yellow')
frame.grid(row=0,column=0)

root.mainloop()

Output:

Alternatively, you can use a string consisting of an empty space and concatenate it to the title after multiplication. I mean:

import tkinter as tk

root = tk.Tk()
blank_space =" " # One empty space
root.title(80*blank_space+"Window Title")# Easier to add the blank space 
frame = tk.Frame(root, width=800, height=200, bg='yellow')
frame.grid(row=0,column=0)

root.mainloop()



回答3:


More adding onto what Billal suggested is this example that adjust depending on the window size. I still wouldn't recommend it since it's just a hack for visual aesthetics but if you really want to have it.

import tkinter as tk

def center(e):
    w = int(root.winfo_width() / 3.5) # get root width and scale it ( in pixels )
    s = 'Hello Word'.rjust(w//2)
    root.title(s)

root = tk.Tk()
root.bind("<Configure>", center) # called when window resized
root.mainloop()


来源:https://stackoverflow.com/questions/38373621/tkinter-how-to-center-the-window-title

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!