Update gtk82

This commit is contained in:
daleclack 2021-05-28 16:17:08 +08:00
parent 0afec9c254
commit 77448bd07d
4 changed files with 188 additions and 10 deletions

View File

@ -61,7 +61,8 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton"> <object class="GtkButton" id="btn_pg2">
<property name="label" translatable="yes">page2</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
@ -172,6 +173,77 @@
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkAspectFrame" id="frame3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<!-- n-columns=2 n-rows=2 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="row-spacing">10</property>
<property name="column-spacing">10</property>
<property name="row-homogeneous">True</property>
<property name="column-homogeneous">True</property>
<child>
<object class="GtkButton" id="btn_3">
<property name="label" translatable="yes">prev</property>
<property name="width-request">90</property>
<property name="height-request">90</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="name">page2</property>
<property name="title" translatable="yes">page2</property>
<property name="position">2</property>
</packing>
</child>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>

View File

@ -13,7 +13,15 @@
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">10</property> <property name="spacing">10</property>
<child> <child>
<placeholder/> <object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child> </child>
<child> <child>
<object class="GtkStack" id="main_stack"> <object class="GtkStack" id="main_stack">
@ -53,7 +61,8 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton"> <object class="GtkButton" id="btn_pg2">
<property name="label" translatable="yes">page2</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
@ -164,6 +173,77 @@
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkAspectFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<!-- n-columns=2 n-rows=2 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="row-spacing">10</property>
<property name="column-spacing">10</property>
<property name="row-homogeneous">True</property>
<property name="column-homogeneous">True</property>
<child>
<object class="GtkButton" id="btn_3">
<property name="label" translatable="yes">prev</property>
<property name="width-request">90</property>
<property name="height-request">90</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="name">page2</property>
<property name="title" translatable="yes">page2</property>
<property name="position">2</property>
</packing>
</child>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -172,7 +252,15 @@
</packing> </packing>
</child> </child>
<child> <child>
<placeholder/> <object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child> </child>
</object> </object>
</child> </child>

View File

@ -22,21 +22,36 @@ void MyApp::on_activate(){
ref_builder->get_widget("main_window",main_window); ref_builder->get_widget("main_window",main_window);
ref_builder->get_widget("btn_1",btn1); ref_builder->get_widget("btn_1",btn1);
ref_builder->get_widget("btn_2",btn2); ref_builder->get_widget("btn_2",btn2);
ref_builder->get_widget("btn_3",btn3);
ref_builder->get_widget("main_stack",main_stack);
ref_builder->get_widget("btn_pg2",btnpg2);
ref_builder->get_widget("frame1",frame1); ref_builder->get_widget("frame1",frame1);
ref_builder->get_widget("frame2",frame2); ref_builder->get_widget("frame2",frame2);
ref_builder->get_widget("frame3",frame3);
//Default Page
main_stack->set_visible_child(*frame1);
//Click signal //Click signal
btn1->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn1_clicked)); btn1->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn1_clicked));
btn2->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn2_clicked)); btn2->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn2_clicked));
btn3->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn3_clicked));
btnpg2->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btnpg2_clicked));
add_window(*main_window); add_window(*main_window);
main_window->show_all(); main_window->show_all();
} }
void MyApp::btn1_clicked(){ void MyApp::btn1_clicked(){
frame1->hide();
frame2->show(); main_stack->set_visible_child(*frame2);
} }
void MyApp::btn2_clicked(){ void MyApp::btn2_clicked(){
frame2->hide(); main_stack->set_visible_child(*frame1);
frame1->show(); }
void MyApp::btn3_clicked(){
main_stack->set_visible_child(*frame1);
}
void MyApp::btnpg2_clicked(){
main_stack->set_visible_child(*frame3);
} }

View File

@ -13,9 +13,12 @@ private:
//Main Builder //Main Builder
Glib::RefPtr<Gtk::Builder> ref_builder; Glib::RefPtr<Gtk::Builder> ref_builder;
//Child widgets //Child widgets
Gtk::Button *btn1,*btn2; Gtk::Button *btn1,*btn2,*btn3,*btnpg2;
Gtk::AspectFrame *frame1,*frame2; Gtk::AspectFrame *frame1,*frame2,*frame3;
Gtk::Stack *main_stack;
//Signal Handlers //Signal Handlers
void btn1_clicked(); void btn1_clicked();
void btn2_clicked(); void btn2_clicked();
void btn3_clicked();
void btnpg2_clicked();
}; };