Рассчитать ширину окна tkinter на основе длины заголовка - PullRequest
0 голосов
/ 21 марта 2011

Как я могу рассчитать и установить ширину tkinter.Frame -произведенного окна на основе длины заголовка окна? Т.е., может ли кто-нибудь помочь мне с выражением width = ??? в приведенном ниже коде? (хорошо известно, что результат зависит от используемого шрифта, системных кнопок и т. д.)

Спасибо заранее / Harald

import Tkinter as tkinter #Python 2

class MyFrame(tkinter.Frame):
    def __init__(self, title, *args, **kw):
        tkinter.Frame.__init__(self, *args, **kw)
            # Calculate the frame width ensuring that the entire title is shown
            # using len(title)
            width = ???
            self.master.config(width = width)
            self.master.title(title)

mf = MyFrame("Some Frame Title")
mf.mainloop()

1 Ответ

0 голосов
/ 21 марта 2011

Вы не можете сделать это, основываясь на заголовке окна.Отображение (и, следовательно, ширина) контролируется оконным менеджером.Единственный способ сделать это, если вы точно знаете, какой шрифт используется в строке заголовка.В этом случае вы можете использовать метод measure1 объекта шрифта для вычисления ширины строки в этом конкретном шрифте.Несмотря на это, вам нужно знать, какие дополнительные декорации может использовать оконный менеджер и учитывать это, и это отличается для каждого оконного менеджера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...