iced(r9)
해당 리비전 수정 시각: ()
[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
1. 개요 [편집]
러스트의 GUI 프레임워크이다.
2. 사용법 [편집]
iced 구조.svg
iced는 기본적으로 위의 구조를 갖고 있다. 먼저 UI에서 사용자가 상호작용하면 update 로직에 보낼 Message 열거를 만들어보자
그리고 데이터를 담을 state 구조체를 만들자
say의 기본값을 "hello"로 지정해주고 싶으면 derive 메크로를 제거하고
그리고 상호작용을 할 때 실행될 update 함수를 만들자
마지막으로 UI를 담당할 view 함수를 만들고
iced::run으로 실행하자
iced는 기본적으로 위의 구조를 갖고 있다. 먼저 UI에서 사용자가 상호작용하면 update 로직에 보낼 Message 열거를 만들어보자
enum Message {
Hello,
Bye
}그리고 데이터를 담을 state 구조체를 만들자
#[derive(Default)]
struct State {
say:String
}say의 기본값을 "hello"로 지정해주고 싶으면 derive 메크로를 제거하고
impl Default for State {
fn default() Self {
Self {
say:String::from("hello");
}
}
}를 추가해주자.[1]그리고 상호작용을 할 때 실행될 update 함수를 만들자
fn update(state:&mut State, message:Message) {
match Message {
Hello => {
state.say = String::from("Hello");
},
Bye => {
state.say = String::from("Bye");
}
}
}마지막으로 UI를 담당할 view 함수를 만들고
use iced::Element;
use iced::widget::{button, column, text};
fn view(state: &State) -> Element<'_, Message> {
column![
text(state.say),
button("say hello").on_press(Message::Hello),
button("say bye").on_press(Message::Bye)
].into()
}iced::run으로 실행하자
fn main () -> iced::Result {
iced::run(update, view)?
}3. 특징 [편집]
4. 사용하는 소프트웨어 [편집]
- cosmic
라이선스를 별도로 명시하지 않은 문서는 CC BY-SA 4.0에 따라 이용할 수 있습니다.
자세한 내용은 다올위키 라이선스 정책을 확인하시기 바랍니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.
오픈 소스가 아닌 다올위키의 고유한 디자인을 무단으로 도용하는 것과, 운영 문서를 포함한 모든 문서를 라이선스를 지키지 않고 무단으로 가져가는 행동은 저작권 위반이며 법적 책임을 물 수 있습니다.

