Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- python
- write by chatGPT
- android
- flet
- oracle
- lombok
- kotlin
- 역학
- GPT-4's answer
- Java
- 코틀린
- Database
- 리눅스
- 소프트웨어공학
- 자바
- 파이썬
- 시스템
- GIT
- NIO
- 인프라
- JVM
- 자바네트워크
- 웹 크롤링
- write by GPT-4
- 뉴턴역학
- 자바암호
- 고전역학
- Spring boot
- 유닉스
- chatGPT's answer
Archives
- Today
- Total
Akashic Records
Flet ListView 본문
728x90
ListView
는 Flet에서 중요한 UI 컴포넌트 중 하나로, 많은 항목들을 스크롤 가능한 리스트 형태로 표시하는데 사용됩니다.
- ListView는 Flet에서 스크롤 가능한 목록을 만드는 데 사용됩니다.
- 많은 항목을 효율적으로 표시할 수 있어 채팅, 데이터 목록 등 다양한 경우에 활용할 수 있습니다.
- 속성으로는 spacing, padding, expand, auto_scroll 등이 있으며, scroll_direction을 통해 수평/수직 스크롤을 조절할 수 있습니다.
Flet의 ListView는 데이터를 유연하고 효율적으로 보여주는 데 유용하며, 다양한 사용자 인터페이스에 쉽게 적용될 수 있는 강력한 도구입니다.
1. Flet ListView 개요
ListView
는 스크롤 가능한 위젯으로, 여러 개의 자식 요소를 포함할 수 있는 컨테이너입니다. 데이터나 항목들이 많을 경우, ListView
를 사용하여 사용자에게 스크롤 가능한 목록 형태로 보여줄 수 있습니다. ListView
는 수평 또는 수직 방향으로 스크롤 가능하며, 동적인 항목 추가 및 제거도 지원합니다.
2. 기본 사용법
Flet에서 ListView
를 사용하려면 다음과 같은 기본적인 구조로 사용할 수 있습니다:
import flet as ft
def main(page: ft.Page):
list_view = ft.ListView(expand=True, spacing=10, padding=20)
for i in range(10):
list_view.controls.append(ft.Text(f"Item {i}"))
page.add(list_view)
ft.app(target=main)
코드 설명:
ListView(expand=True, spacing=10, padding=20)
:ListView
인스턴스를 생성합니다. 여기서:expand=True
:ListView
가 페이지에 최대한의 공간을 차지하도록 확장되도록 설정합니다.spacing=10
: 리스트 아이템들 사이의 간격을 10으로 설정합니다.padding=20
: 리스트의 가장자리에 20의 여백을 줍니다.
list_view.controls.append()
: 리스트에 새로운 컨트롤(예: 텍스트)을 추가합니다.
3. 주요 속성
spacing
: 각 항목들 사이의 간격을 설정합니다.padding
: 리스트뷰 가장자리와 항목들 사이의 간격을 조정합니다.expand
:True
로 설정하면ListView
가 가능한 많은 공간을 차지합니다. 반대로, 크기를 수동으로 설정할 수 있습니다.auto_scroll
:True
로 설정하면 항목이 추가될 때마다 자동으로 스크롤됩니다. 채팅 애플리케이션과 같은 경우에 유용합니다.
4. 동적 데이터 추가
ListView
에 동적으로 데이터를 추가할 수도 있습니다. 이를 통해 사용자 입력 또는 실시간 데이터를 리스트에 반영할 수 있습니다.
import flet as ft
def main(page: ft.Page):
list_view = ft.ListView(expand=True, auto_scroll=True)
def add_item(e):
list_view.controls.append(ft.Text(f"New item {len(list_view.controls) + 1}"))
page.update()
add_button = ft.ElevatedButton("Add Item", on_click=add_item)
page.add(list_view, add_button)
ft.app(target=main)
코드 설명:
auto_scroll=True
: 새로운 항목이 추가될 때 리스트가 자동으로 스크롤됩니다.add_item()
함수: 버튼 클릭 시 새로운 항목을ListView
에 추가하고 페이지를 업데이트합니다.
728x90
5. 스크롤 방향 설정
ListView
는 기본적으로 수직 방향으로 스크롤되지만, scroll_direction
속성을 통해 수평 스크롤로 변경할 수도 있습니다.
list_view = ft.ListView(expand=True, scroll_direction="horizontal")
scroll_direction
:"horizontal"
로 설정하면 리스트가 수평으로 스크롤됩니다. 기본값은"vertical"
입니다.
6. 활용 예시: 채팅 애플리케이션
ListView
는 채팅 애플리케이션처럼 항목이 실시간으로 추가되고 사용자에게 자동으로 보여줘야 하는 경우에 유용합니다.
import flet as ft
def main(page: ft.Page):
chat_view = ft.ListView(expand=True, auto_scroll=True)
def send_message(e):
chat_view.controls.append(ft.Text(f"User: {message_box.value}"))
message_box.value = ""
page.update()
message_box = ft.TextField(hint_text="Enter your message")
send_button = ft.ElevatedButton("Send", on_click=send_message)
page.add(chat_view, message_box, send_button)
ft.app(target=main)
728x90
'Python for Beginners' 카테고리의 다른 글
Flet ListTitle (0) | 2024.11.07 |
---|---|
Flet 날씨 App (1) | 2024.11.05 |
Flet Layout 배치(Column, Row, alignment, padding, margin...) (2) | 2024.10.31 |
Flet Mobile App Layout (3) | 2024.10.29 |
Flet 타이머 (0) | 2024.10.28 |
Comments