그래픽 사용자 인터페이스(GUI)에서 계층적 데이터로 작업할 때 구조적이고 체계적인 방식으로 데이터를 표시해야 하는 경우가 많습니다. Python-Tkinter의 Treeview 위젯은 사용자 친화적인 방식으로 계층적 데이터를 표시하기 위한 강력한 솔루션을 제공합니다. 그러나 Treeview의 항목 수가 증가함에 따라 원활한 탐색과 유용성을 보장하기 위해 스크롤 막대를 포함하는 것이 중요해졌습니다.
먼저, Python과 Tkinter가 시스템에 설치되어 있는지 확인하세요. 향상된 호환성과 기능을 위해서는 Python 3을 권장합니다. Tkinter가 설치되어 있지 않은 경우 Python 패키지 관리자 pip를 사용하여 쉽게 설치할 수 있습니다. 터미널이나 명령 프롬프트를 열고 다음 명령을 실행하세요. −
으아악Tkinter가 설치되면 Treeview 위젯을 구축하고 스크롤 막대를 추가하는 데 필요한 강력한 GUI 도구 키트에 액세스할 수 있습니다.
먼저 기본 Treeview 위젯을 생성하겠습니다. 즐겨 사용하는 텍스트 편집기나 통합 개발 환경(IDE)을 열고 새 Python 파일을 만듭니다. 필요한 모듈을 가져오는 것부터 시작하겠습니다 -
으아악tkinter 모듈은 Python에서 GUI 애플리케이션을 구축하기 위한 기반을 제공하며, ttk 모듈에는 Treeview 위젯을 포함한 테마 위젯이 포함되어 있습니다.
다음으로 Tkinter 루트 창과 Treeview 위젯을 만들어 보겠습니다. Python 파일에 다음 코드를 추가하세요 −
으아악여기에서는 tk.Tk()를 사용하여 애플리케이션의 기본 창 역할을 하는 루트 창을 만듭니다. 그런 다음 Treeview 위젯을 나타내는 ttk.Treeview 클래스의 트리 개체를 만듭니다. 마지막으로 루트 창에 Treeview 위젯을 표시하기 위해 pack 메소드를 사용합니다.
Treeview에 스크롤바를 추가하기 위해 Tkinter에서 제공하는 ttk.Scrollbar 위젯을 사용합니다. 스크롤 막대를 사용하면 Treeview의 항목이 사용 가능한 공간을 초과할 때 부드러운 수직 스크롤이 가능합니다.
TreeView 위젯을 생성한 후 다음 코드를 추가하여 스크롤바를 생성하고 이를 사용하도록 TreeView를 구성합니다. −
으아악여기에서는 orient 매개변수를 사용하여 방향을 "수직"으로 지정하여 ttk.Scrollbar 클래스의 스크롤바 객체를 생성합니다. 명령 매개변수는 스크롤바를 Treeview의 수직 스크롤과 연결하는 tree.yview로 설정됩니다.
다음으로 스크롤 막대의 설정 메서드를 yscrollcommand 옵션으로 사용하도록 Treeview를 구성합니다. 이렇게 하면 스크롤 막대가 Treeview의 수직 스크롤을 제어할 수 있습니다.
마지막으로 pack 메소드를 사용하여 Treeview 위젯의 오른쪽에 스크롤바를 배치하고 fill="y" 옵션을 사용하여 Treeview의 전체 높이를 채우도록 합니다.
이러한 추가 사항을 통해 지금 Python 파일을 실행하면 오른쪽에 세로 스크롤 막대와 함께 Treeview 위젯이 표시됩니다. 스크롤바를 사용하면 필요할 때 Treeview의 내용을 탐색할 수 있습니다.
이제 TreeView와 스크롤 막대가 설정되었으므로 일부 샘플 데이터로 TreeView를 채워 보겠습니다. 이렇게 하면 많은 수의 항목을 처리할 때 스크롤 막대가 어떻게 작동하는지 관찰할 수 있습니다.
Treeview에 열과 항목을 추가하려면 다음과 같이 Python 파일을 수정하세요. −
으아악여기에서는 "이름"과 "나이"라는 열 이름을 포함하는 튜플로 columns 속성을 설정하여 Treeview에 두 개의 열을 추가했습니다. 열 #0은 ID를 표시하는 데 사용할 기본 첫 번째 열을 나타냅니다. 우리는 제목 방법을 사용하여 그에 따라 열 머리글을 설정합니다.
다음으로 insert 메소드를 사용하여 항목을 Treeview에 삽입합니다. 각 항목은 고유 ID로 표시되며 해당 열에는 해당 값이 있습니다. 이 예에서는 각각 이름과 나이에 해당하는 ID가 1, 2, 3인 항목 3개를 삽입했습니다.
기본 스크롤바 기능은 필수적이지만 앱의 전체 테마에 맞게 모양을 맞춤설정할 수도 있습니다. Tkinter는 ttk.Style 클래스를 사용하여 스크롤 막대 스타일을 수정하는 옵션을 제공합니다. 보다 조화로운 모양을 얻기 위해 스크롤 막대의 스타일을 지정하는 방법을 살펴보겠습니다.
먼저 ttk 모듈을 가져오고 ttk.Style 클래스의 인스턴스를 만듭니다 −
으아악다음으로 스크롤 막대의 스타일을 구성할 수 있습니다. 이 예에서는 스크롤 막대의 배경색, 핸들 색상 및 두께를 변경합니다. 스타일 객체 −
를 생성한 후 다음 코드를 추가합니다. 으아악여기서는 ttk.Style 클래스의 구성 메소드를 사용하여 스크롤 막대의 모양을 사용자 정의합니다. "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!