본문 바로가기

state6

파이썬의 리스트도 표현할 수 있나? # 투두리스트 앱 만들기 앞선 포스팅에서는 간단히 rx.heading이나 rx.text를 이용해 화면에 글자를 출력해보았으며 State라는 클래스와 클래스 변수인 Var를 이용해 동적인 웹앱, Counter를 구현해보았다. 그럼 이런 생각도 해볼 수 있을텐데? 단순한 텍스트 목록은 rx.text를 나열하면 될텐데, ["a", "b", "c"] 같은 리스트도 표현할 수 있을까? (직접 공식문서를 찾아 읽어보신 분이라면, 어렵지 않게 구현하실 것) 이 때는 우리가 사용할 또 다른 레이아웃 컴포넌트, 바로 rx.foreach가 필요하게 되는 시점이다. (굳이 비유하면 파이썬의 for문과 map 함수를 합친 느낌이다.) 참고로 rx.foreach는 단순한 파이썬의 for문과는 살짝 다르다. 무엇이 다른고 하니, rx.foreach(리스.. 2023. 10. 3.
간단한 동적 웹앱 만들어보기 : Counter 이번 포스팅에서는 아래와 같은 페이지를 만들어 보고, State의 사용법에 대해 간단히 이해해보고자 한다. 아래와 같은 코드로 index 함수를 만들었다. import reflex as rx def index(): return rx.vstack( # 행 방향으로 나열하는 레이아웃 컴포넌트 rx.heading("Counter"), # 제목 rx.hstack( # 열 방향으로 나열하는 레이아웃 컴포넌트 rx.button("-", color_scheme="red"), rx.heading("0"), rx.button("+", color_scheme="green") ) ) app = rx.App() app.add_page(index) app.compile() 참고로 위에서 사용한 vstack, hstack은 각각.. 2023. 10. 3.
reflex 웹페이지는 기본적으로 클래스 하나, 함수 하나로 구성된다. reflex는 프론트엔드와 백엔드의 구분이 다소 모호(?)한 pure-python fullstack webframework이다. reflex로 만드는 웹앱은 기본적으로 State라는 클래스 하나, 그리고 index라는 함수 하나로 구성된다. 이를 이해하기 위해서는 가장 간단한 앱 하나를 만들어보는 것이 좋다. 우선 State 없이 간단한 페이지함수인 index를 만들어보자. import reflex as rx def index(): return rx.heading("Hello world!") app = rx.App(state=State) app.add_page(index) app.compile() python 코드로 구성된 간단한 소스이지만, 이는 리플렉스를 구성하고 있는 node.js, React, N.. 2023. 10. 3.
15. 체크버튼에 기본값 부여하기(선택상태) 지난 포스팅 지난 포스팅에서는 tkinter의 체크버튼에 대해 간단히 알아보았습니다. 2022.11.16 - [기타/tkinter 한꼬집씩만 따라해보기] - 14. 체크박스 버튼 만들기 14. 체크박스 버튼 만들기 지난 포스팅 지난 포스팅에서는 콤보박스에 대해 알아보고, 콤보박스와 버튼, 레이블 등을 연계하거나, 직접 이벤트를 사용하는 방법을 추가로 알아보았습니다. 2022.11.16 - [기타/tkinter 한꼬집씩 martinii.fun 이번 포스팅에서는 : 체크버튼 상태 초기화 tkinter의 체크버튼은 세 개의 상태를 가질 수 있습니다. 우측은 해당 커맨드입니다. 선택불가 : checkbutton["state"] = "disabled" 체크 : checkbutton.select() 체크해제 : c.. 2022. 11. 16.
12. 콤보박스에서 주어진 값만 선택 할 수 있게 변경하기 지난 포스팅 지난 포스팅에서는 ttk에 대한 간단한 설명과 함께 콤보박스의 기본적인 삽입방법에 대해 알려드렸습니다. 2022.11.16 - [기타/tkinter 한꼬집씩만 따라해보기] - 11. 콤보박스 위젯 추가하기 11. 콤보박스 위젯 추가하기 지난 포스팅 지난 포스팅까지 tkinter의 기본적인 위젯들과 간단한 레이아웃, 그리고 command와 이벤트 바인딩의 사용법까지 가볍게 훑어보았습니다. 2022.11.15 - [기타/tkinter 한꼬집씩만 따라해보기] martinii.fun 이번 포스팅에서는 : 콤보박스 선택만 할 수 있게 import tkinter as tk from tkinter import ttk win = tk.Tk() combobox = ttk.Combobox(win, state=.. 2022. 11. 16.
10. 특정 위젯을 비활성화하기 #도전과제있음 이전 포스팅 2022.11.15 - [기타/tkinter 한꼬집씩만 따라해보기] - 9. 엔트리 위젯에 placeholder 구현하기 #event binding 9. 엔트리 위젯에 placeholder 구현하기 #event binding import tkinter as tk def focus_in(*args): # 엔트리창에 포커스되는 경우 if id_.get() == placeholder_text: # placegholder가 있으면 entry.delete(0, "end") # 엔트리 값 삭제(시작위치:0, 끝위치:"end") entry.configure(fg="black") # martinii.fun 이번 포스팅에서는 import tkinter as tk win = tk.Tk() button = tk.. 2022. 11. 15.