56

tkinterと一緒に教える最新のチュートリアルはどこにありttkますか?

Tkinter Python 3 で行く唯一の方法のようで (Python 2 を提案しないでください)、ttk見栄えの良い GUI への希望を与えてくれました。

4

4 に答える 4

53

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

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

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

于 2011-07-29T16:53:14.413 に答える
20

NMT Tkinter 8.5 リファレンスをお勧めします。

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

ttkの便利さの 1 つは、既存の theme。これは、 ttkウィジェット に適用されるスタイル
の完全なセットです。

Comboboxから利用可能なテーマを選択できるようにする、私が書いた (Python 3 用の) 例を次に示します。

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」テーマが利用可能であることに気付きました。

于 2013-02-26T05:27:16.377 に答える
3

ドキュメントを読むことをお勧めします。シンプルで権威があり、初心者に適しています。

于 2014-04-25T13:13:45.383 に答える
0

それは本当に新鮮ではありませんが、これは簡潔であり、Python 2 と 3 のどちらにも有効であると私が見たものからです。

于 2012-01-06T10:02:15.377 に答える