GTK 키보드 리팩토링
use gtk;
use gtk::{Button, Entry, Label};
pub fn create_button(label: &'static str) -> Button {
let margin = 2;
Button::builder()
.label(label)
.margin_start(margin)
.margin_top(margin)
.margin_end(margin)
.margin_bottom(margin)
.build()
}
pub fn create_entry() -> Entry {
let margin = 2;
Entry::builder()
.margin_start(margin)
.margin_top(margin)
.margin_end(margin)
.margin_bottom(margin)
.build()
}
pub fn create_label(label: Option<&str>) -> Label {
let margin = 2;
let text: &str = label.unwrap_or("default string");
Label::builder()
.label(text)
.margin_start(margin)
.margin_top(margin)
.margin_end(margin)
.margin_bottom(margin)
.build()
}
Option을 .lebel()에 추가할 수 없습니다. Option을 str로 변환해야 합니다
label.unwrap_or("default string")
.main.rs 파일에 buttons.rs 추가
gtk::prelude::* 사용;
mod gui;
mod buttons;
gui.rs에 크레이트로 기능 추가
use crate::buttons::create_label;
use crate::buttons::create_entry;
use crate::buttons::create_button;
이 예제에 따라 버튼, 레이블 및 원하는 모든 것을 선언하십시오.
let button_1 = create_button("Button 1");
let counter_label = create_label(Some("0.0"));
let label_time = create_label(None);
Reference
이 문제에 관하여(GTK 키보드 리팩토링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/antonov_mike/refactoring-gtk-keyboard-3iop텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)