ホームページ  >  記事  >  バックエンド開発  >  Python-Tkinter のツリービュー スクロールバー

Python-Tkinter のツリービュー スクロールバー

WBOY
WBOY転載
2023-08-20 17:57:542203ブラウズ

Python-Tkinter のツリービュー スクロールバー

グラフィカル ユーザー インターフェイス (GUI) で階層データを操作する場合、多くの場合、データを構造化され、整理された方法で表示する必要があります。 Python-Tkinter の Treeview ウィジェットは、階層データをユーザーフレンドリーな方法で表示するための強力なソリューションを提供します。ただし、ツリービュー内の項目の数が増えると、スムーズなナビゲーションと使いやすさを確保するためにスクロール バーを含めることが重要になります。

まず、Python と Tkinter がシステムにインストールされていることを確認します。互換性と機能を向上させるには、Python 3 をお勧めします。 Tkinter がインストールされていない場合は、Python パッケージ マネージャー pip を使用して簡単にインストールできます。ターミナルまたはコマンド プロンプトを開き、次のコマンド

を実行します。 リーリー

Tkinter をインストールすると、ツリービュー ウィジェットの構築やスクロールバーの追加に必要な強力な GUI ツールキットにアクセスできるようになります。

ツリービューを作成する

まず、基本的なツリービュー ウィジェットを作成します。お気に入りのテキスト エディターまたは統合開発環境 (IDE) を開き、新しい Python ファイルを作成します。まずは必要なモジュールをインポートします -

リーリー

tkinter モジュールは、Python で GUI アプリケーションを構築するための基盤を提供し、ttk モジュールには、ツリービュー ウィジェットなどのテーマ別ウィジェットが含まれています。

次に、Tkinter ルート ウィンドウと Treeview ウィジェットを作成しましょう。次のコードを Python ファイルに追加します −

リーリー

ここでは、 tk.Tk() を使用して、アプリケーションのメイン ウィンドウとして機能するルート ウィンドウを作成します。次に、Treeview ウィジェットを表す ttk.Treeview クラスのツリー オブジェクトを作成します。最後に、pack メソッドを使用して、ルート ウィンドウにツリービュー ウィジェットを表示します。

スクロールバーを追加

ツリービューにスクロールバーを追加するには、Tkinter が提供する ttk.Scrollbar ウィジェットを使用します。ツリービュー内の項目が使用可能なスペースを超える場合、スクロールバーを使用するとスムーズな垂直スクロールが可能になります。

TreeView ウィジェットを作成した後、次のコードを追加してスクロールバーを作成し、それを使用するように TreeView を構成します。

リーリー

ここでは、orient パラメータを使用して方向を「垂直」として指定して、ttk.Scrollbar クラスのスクロールバー オブジェクトを作成します。コマンド パラメータは、tree.yview に設定され、スクロールバーをツリービューの垂直スクロールに関連付けます。 .

次に、スクロール バーの set メソッドを yscrollcommand オプションとして使用するようにツリービューを構成します。これにより、スクロールバーがツリービューの垂直スクロールを制御できるようになります。

最後に、pack メソッドを使用してスクロール バーをツリービュー ウィジェットの右側に配置し、fill="y" オプションを使用してツリービューの高さ全体を埋めるようにします。

これらの追加により、Python ファイルを実行すると、右側に垂直スクロールバーが付いたツリービュー ウィジェットが表示されます。スクロールバーを使用すると、必要に応じてツリービューのコンテンツを参照できます。

ツリービューを埋める

TreeView とスクロールバーを設定したので、TreeView にサンプル データを入力してみましょう。このようにして、多数の項目を処理するときにスクロールバーがどのように動作するかを観察できます。

ツリービューに列と項目を追加するには、Python ファイルを次のように変更します

リーリー

ここでは、列プロパティを列名「Name」と「Age」を含むタプルに設定することで、ツリービューに 2 つの列を追加しました。列 #0 はデフォルトの最初の列を表し、ID を表示するために使用します。見出しメソッドを使用して、それに応じて列ヘッダーを設定します。

次に、insert メソッドを使用して項目をツリービューに挿入します。各項目は一意の ID で表され、対応する列には対応する値があります。この例では、ID が 1、2、3 である 3 つのアイテムを挿入しました。これらはそれぞれ名前と年齢に対応します。

様式化されたスクロールバー

基本的なスクロールバー機能は不可欠ですが、アプリケーションの全体的なテーマに合わせて外観をカスタマイズすることもできます。 Tkinter は、ttk.Style クラスを使用してスクロール バーのスタイルを変更するオプションを提供します。より調和のとれた外観を実現するために、スクロール バーのスタイルを設定する方法を見てみましょう。

まず、ttk モジュールをインポートし、ttk.Style クラスのインスタンスを作成します

リーリー

次に、スクロール バーのスタイルを設定します。この例では、スクロールバーの背景色、ハンドルの色、太さを変更します。スタイル オブジェクトの作成後に次のコードを追加します

リーリー

ここでは、 ttk.Style クラスの configure メソッドを使用して、スクロール バーの外観をカスタマイズします。 「Treeview.Scrollbar」文字列は、変更する特定のスタイル要素を参照します。

在这个例子中,我们将滚动条的背景颜色设置为灰色,槽的颜色设置为浅灰色,手柄的颜色设置为白色。gripcount选项设置为0以隐藏手柄,并使用gripinset和gripborderwidth选项调整手柄的外观。最后,我们将滚动条的厚度设置为10像素。

将自定义样式应用于滚动条,将其与 Treeview 小部件关联。将滚动条创建代码修改如下 

# Create a Scrollbar with the customized style
scrollbar = ttk.Scrollbar(root, orient="vertical", command=tree.yview, style="Treeview.Scrollbar")

通过将style参数指定为"Treeview.Scrollbar",滚动条将使用之前定义的自定义样式。

保存Python文件并运行它。现在你应该在Treeview中看到带有更新样式的滚动条。

测试滚动条

保存Python文件并运行。您应该会看到一个带有Treeview小部件和垂直滚动条的窗口。尝试调整窗口大小或向Treeview添加更多项目,以查看滚动条的效果。

结论

在这里,我们探讨了如何在Python-Tkinter中为Treeview小部件添加滚动条。我们首先创建了一个基本的Treeview,然后添加了一个垂直滚动条,以实现对Treeview内容的平滑滚动。我们还介绍了如何样式化滚动条,以使其与应用程序的整体主题相匹配。此外,我们还学习了如何处理滚动条事件,使我们能够对用户交互作出特定的响应。通过按照这些步骤,您可以通过添加可滚动的Treeview来增强您的Python-Tkinter应用程序,为导航分层数据提供高效和用户友好的方式。

以上がPython-Tkinter のツリービュー スクロールバーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。