web-dev-qa-db-ja.com

変更Tkinterのフレームタイトル

私はTkinterのフレームのタイトルを変更する方法を把握しようとしています。以下のコードを模倣している私は、タイトルを変更しようとしています私のプログラムの一部に簡略化されています。

from Tkinter import *

class start_window(Frame):
    def __init__(self, parent=None):
        Frame.__init__(self, parent)
        Frame.pack(self)
        Label(self, text = 'Test', width=30).pack()

if __name__ == '__main__':
    start_window().mainloop()

このサンプルコードでは、フレームは、標準の「TK」のタイトルを持っているが、私は「マイデータベース」のようなものに変更したいと思います。私は私がいない成功を収めて考えることができるすべてを試してみました。任意の助けをいただければ幸いです。

14
user3798654

これを試して:

if __name__ == '__main__':
    root = Tk()
    root.title("My Database")
    root.geometry("500x400")
    app = start_window(root)
    root.mainloop()
25
letsc

まず、あなたがTkのインスタンスを作成することにより、メインウィンドウを作成する明示的にする必要があります。あなたが行うときは、タイトルを変更するには、このウィンドウへの参照を使用することができます。

また、グローバルインポートを使用するnotをお勧めします。代わりに、インポート名でTkinterの、およびモジュール名を使用してTkinterのコマンドの前に付けます。私はタイピングを削減するために名前tkを使用します。

import Tkinter as tk

class start_window(tk.Frame):
    def __init__(self, parent=None):
        tk.Frame.__init__(self, parent)
        tk.Frame.pack(self)
        tk.Label(self, text = 'Test', width=30).pack()

if __name__ == '__main__':
    root = tk.Tk()
    root.wm_title("This is my title")
    start_window(root)
    root.mainloop()

最後に、コードを読みやすくするために、ほとんどすべてのpythonプログラマーと一貫性を保つために、クラス名に大文字の最初の文字を付けることをお勧めします。

class StartWindow(...):

他の皆と同じ規則を用いることで、私たちはあなたのコードを理解することが容易になります。

Tkinterコミュニティーで使用される命名規則の詳細については、 PEP8 を参照してください

1
Bryan Oakley

私は通常、tkinterアプリを次のように起動します

#!/usr/local/bin/python3

import Tkinter as tk

root = Tk() 

root.title('The name of my app')

root.minsize(300,300)
root.geometry("800x800")

root.mainloop()
0
Athina