Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのtkinterとtkinter.ttkのウィジェットの違いは何ですか?


tkinter.ttk tkinterウィジェットのスタイルを設定するために使用されるモジュールです。 CSSを使用してHTML要素のスタイルを設定するのと同じように、tkinter.ttkを使用してtkinterウィジェットのスタイルを設定します。

tkinterウィジェットとtkinter.ttkの主な違いは次のとおりです。 −

  • Tkinterウィジェットは、ボタン、ラベル、テキスト、スクロールバーなどを追加するために使用されますが、tkinter.ttkは、tkinterウィジェットと比較してさまざまなウィジェットをサポートしています。

  • Tkinter.ttkはPlace、Pack()、Grid()をサポートしていないため、ttkでtkinterウィジェットを使用することをお勧めします。

  • Ttkには、ネイティブアプリケーションの機能を拡張し、よりモダンに見えるようにする多くの機能と構成があります。

  • Tkinterウィジェットはtkinterライブラリのネイティブウィジェットですが、ttkはテーマモジュールです。

  • tkinterの基本的なTkウィジェットをオーバーライドするには、「fromtkinter.ttkimport*」を使用します

次の例では、tkinter.ttkモジュールを使用してtkinterネイティブウィジェットのスタイルを設定しています。テキストウィジェットの背景色を変更するボタンを作成します。

#Import the tkinter library
from tkinter import *
from tkinter.ttk import *

#Create an instance of tkinter frame
win = Tk()

#Set the geometry
win.geometry("620x400")

#Add a class to style the tkinter widgets
style = ttk.Style()
style.configure('TEntry', foreground = 'red')

#Define a function to change the text color
def change_color():
   text.configure(background="red")

#Create a text widget
text=Label(win,text="This is a New Text",foreground="white",
background="blue",font=('Aerial bold',20))
text.pack(pady=20)

#Create a Button widget
Button(win, text= "Click Here", command= change_color).pack(pady=10)
win.mainloop()

出力

上記のコードを実行すると、次の出力が生成されます-

Pythonのtkinterとtkinter.ttkのウィジェットの違いは何ですか?

次に、[ここをクリック]ボタンをクリックします。テキストウィジェットの背景色が赤に変わります。

Pythonのtkinterとtkinter.ttkのウィジェットの違いは何ですか?


  1. TkinterのTkクラスとトップレベルクラスの違いは何ですか?

    Tkinterウィンドウは、 Tkを初期化することによって作成されます 最初にオブジェクト。これは、アプリケーションのインスタンス化に役立つTkinterアプリケーションの最小限の部分です。 Tk すべてのウィジェットが配置されるアプリケーションウィンドウなど、アプリケーションの基本的な構成要素を構築するのに役立ちます。 ただし、トップレベルクラス メインアプリケーションの内部ウィジェットを介して通信するのに役立ちます。トップレベルクラスの例の1つは、トップレベルです。 アプリケーションのメインウィンドウ以外の子ウィンドウを表示するウィンドウ。トップレベルウィンドウは、ウィジェットや機能

  2. Tkinter(Python)のroot.destroy()とroot.quit()の違いは何ですか?

    destroy()を呼び出すとき tkinterウィンドウオブジェクトを使用するメソッドは、メインループを終了します ウィンドウ内のすべてのウィジェットを処理して破棄します。 Tkinter destroy() メソッドは主に、バックグラウンドで実行されているインタープリターを強制終了して終了するために使用されます。 ただし、 quit() mainloop()の後でプロセスを停止するために、メソッドを呼び出すことができます。 働き。ボタンオブジェクトを作成することで、両方のメソッドの機能を示すことができます。 例 #Import the required libraries from