web-dev-qa-db-ja.com

Python 3のtkinterおよびttkに関する最新のチュートリアル

tkinterttk

Tkinterは、Python 3(Python 2)を提案しないでください)に行く唯一の方法であり、ttkは私に希望を与えました見栄えの良いGUI用。

54
Oleh Prypin

TkDocs チュートリアルが非常に役立つことがわかりました。 PythonとTkTkinterを使用してttkインターフェースを構築することを説明し、Python = 2および3。Perlの例、RubyおよびTclもあります。目標は特定の言語のバインディングではなくTk自体を教えることです。

私は最初から最後まですべてを行ったわけではなく、私が行き詰まったことの例としていくつかのトピックのみを使用しましたが、非常に教育的で快適に書かれています。今日、イントロと最初のいくつかのセクションを読むことで、残りの部分から作業を開始すると思います。

最後に、それは現在のものであり、サイトは非常に素晴らしい外観を持っています。彼には、チェックアウトする価値のある他のページもたくさんあります(ウィジェット、リソース、ブログ)。この男は、Tkを教えるだけでなく、かつてのい獣ではないという人々の理解を深めるためにも多くのことをしています。

52
Todd

NMT Tkinter 8.5 reference をお勧めします。

一部の例で使用されているモジュール名は、Python 2.7。
これは、Python 3: link の名前の変更に関するリファレンスです。

ttk の便利さの1つは、既存の theme を選択できることです。
これは、 ttk ウィジェットに適用される Styles の完全なセットです。

ここに私が書いた例があります(Python 3)で、Comboboxから利用可能なテーマを選択できます):

import random
import tkinter
from tkinter import ttk
from tkinter import messagebox

class App(object):

    def __init__(self):
        self.root = tkinter.Tk()
        self.style = ttk.Style()
        available_themes = self.style.theme_names()
        random_theme = random.choice(available_themes)
        self.style.theme_use(random_theme)
        self.root.title(random_theme)

        frm = ttk.Frame(self.root)
        frm.pack(expand=True, fill='both')
    # create a Combobox with themes to choose from
        self.combo = ttk.Combobox(frm, values=available_themes)
        self.combo.pack(padx=32, pady=8)
    # make the Enter key change the style
        self.combo.bind('<Return>', self.change_style)
    # make a Button to change the style
        button = ttk.Button(frm, text='OK')
        button['command'] = self.change_style
        button.pack(pady=8)

    def change_style(self, event=None):
        """set the Style to the content of the Combobox"""
        content = self.combo.get()
        try:
            self.style.theme_use(content)
        except tkinter.TclError as err:
            messagebox.showerror('Error', err)
        else:
            self.root.title(content)

app = App()
app.root.mainloop()

サイドノート:Python 3.3(2.7ではなく)を使用すると、利用可能な「Vista」テーマがあることに気付きました。

20
Honest Abe

ドキュメント を読むことをお勧めします。シンプルで信頼でき、初心者に適しています。

3
vy32

それは本当に新鮮ではありませんが、 this は簡潔であり、Python 2および3。

0
Carel