use qt_cb::prelude::*; use qt_core::qs; use qt_widgets::{ QApplication, QCheckBox, QHBoxLayout, QLineEdit, QPushButton, QVBoxLayout, QWidget, }; fn main() { QApplication::init(|_| unsafe { QApplication::set_style_q_string(&qs("Fusion")); let win = QWidget::new_0a(); win.set_fixed_size_2a(400, 300); let vbox = QVBoxLayout::new_1a(&win); let ed = QLineEdit::new(); ed.set_placeholder_text(&qs("Enter name")); ed.connect_text_changed(|_ed, txt| { println!("current lineedit text: {}", txt.to_std_string()); }); vbox.add_widget(&ed); let hbox = QHBoxLayout::new_0a(); vbox.add_layout_1a(&hbox); let checkbox = QCheckBox::new(); hbox.add_widget(&checkbox); checkbox.set_text(&qs("Check me!")); checkbox.connect_clicked(|b, checked| { println!( "{} is {}checked", b.text().to_std_string(), if checked { "" } else { "un" } ); }); let button = QPushButton::new(); hbox.add_widget(&button); button.set_text(&qs("Greet!")); button.connect_pressed(move |_b| { println!("Hello {}", ed.text().to_std_string()); }); win.show(); QApplication::exec() }) }