<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Tkinter - не пойму в какой момент виджет был размещен в окне</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10439.html</link>
    <description>В нижеприведенном коде есть создание переменной &#091;b&#093;app&#091;/b&#093;. Она является экземпляром класса &#091;b&#093;Example&#091;/b&#093;, который в свою очередь является расширением от класса &#091;b&#093;Frame&#091;/b&#093;.&lt;br&gt;&lt;br&gt;Так вот, я не пойму в какой момент эта переменная привязывается к окну &#091;b&#093;root&#091;/b&#093;, чтобы работать внутри него. Никакой связи между &#091;b&#093;root&#091;/b&#093; и &#091;b&#093;app&#091;/b&#093; я не наблюдаю. Но тем не менее пример работает.&lt;br&gt;&lt;br&gt;Как это происходит? Сам код:&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;from tkinter import Tk, Frame, Checkbutton&lt;br&gt;from tkinter import BooleanVar, BOTH&lt;br&gt; &lt;br&gt;class Example(Frame):&lt;br&gt;    def __init__(self):&lt;br&gt;        super().__init__()&lt;br&gt;        self.initUI()&lt;br&gt; &lt;br&gt;    def initUI(self):&lt;br&gt;        self.master.title(&quot;Флажки&quot;)&lt;br&gt;        self.pack(fill=BOTH, expand=True)&lt;br&gt;        self.var = BooleanVar()&lt;br&gt; &lt;br&gt;        cb = Checkbutton(self, text=&quot;Показать заголовок&quot;, variable=self.var, command=self.onClick)&lt;br&gt;        cb.select()&lt;br&gt;        cb.place(x=50, y=50)&lt;br&gt; &lt;br&gt;    def onClick(self):&lt;br&gt;        if self.var.get():&lt;br&gt;            self.master.title(&quot;Флажки&quot;)&lt;br&gt;        else:&lt;br&gt;         </description>

<item>
    <title>Tkinter - не пойму в какой момент виджет был размещен в окне (Брат Анон)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10439.html#2</link>
    <pubDate>Tue, 18 Apr 2023 07:30:30 GMT</pubDate>
    <description>1) Переменная var привязывается к cb, а не окну верхнего уровня.&lt;br&gt;2) Никакой прямой связи между root и app нет. структура примера -- неправильная. Объект Example -- не должен наследоваться от Frame (он должен его включать, ровно так же как и корневое окно).&lt;br&gt;3) Переменная var начинает работать как и всё остальное с момента вызова root.mainloop()&lt;br&gt;</description>
</item>

<item>
    <title>Tkinter - не пойму в какой момент виджет был размещен в окне (Eddhie)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10439.html#1</link>
    <pubDate>Tue, 11 Apr 2023 09:56:34 GMT</pubDate>
    <description>Наверное, отыскивает первый экземпляр Tk(), который считается главным. Можно уточнить это, передав в конструктор явно, тогда станет возможным манипулировать с &#091;b&#093;root&#091;/b&#093; прямо в классе &#091;b&#093;Example:&#091;/b&#093;&lt;br&gt;&#091;code&#093;&lt;br&gt;class Example(Frame):&lt;br&gt;    def __init__(self, root):&lt;br&gt;        super().__init__(root)&lt;br&gt;        root.geometry(&quot;250x150+300+300&quot;)&lt;br&gt;        self.initUI()&lt;br&gt;&lt;br&gt;def main():&lt;br&gt;    root = Tk()    &lt;br&gt;    app = Example(root)&lt;br&gt;    root.mainloop()&lt;br&gt;</description>
</item>

</channel>
</rss>
