検索
ホームページバックエンド開発Python チュートリアルPython-Tkinter のツリービュー スクロールバー

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で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの精度を改善する方法は?風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの精度を改善する方法は?Apr 02, 2025 am 07:09 AM

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません