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>
</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="can-focus">True</property>
<property name="receives-default">True</property>
@ -172,6 +173,77 @@
<property name="position">1</property>
</packing>
</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>
<packing>
<property name="expand">True</property>

View File

@ -13,7 +13,15 @@
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<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>
<object class="GtkStack" id="main_stack">
@ -53,7 +61,8 @@
</packing>
</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="can-focus">True</property>
<property name="receives-default">True</property>
@ -164,6 +173,77 @@
<property name="position">1</property>
</packing>
</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>
<packing>
<property name="expand">True</property>
@ -172,7 +252,15 @@
</packing>
</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>
</object>
</child>

View File

@ -22,21 +22,36 @@ void MyApp::on_activate(){
ref_builder->get_widget("main_window",main_window);
ref_builder->get_widget("btn_1",btn1);
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("frame2",frame2);
ref_builder->get_widget("frame3",frame3);
//Default Page
main_stack->set_visible_child(*frame1);
//Click signal
btn1->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn1_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);
main_window->show_all();
}
void MyApp::btn1_clicked(){
frame1->hide();
frame2->show();
main_stack->set_visible_child(*frame2);
}
void MyApp::btn2_clicked(){
frame2->hide();
frame1->show();
main_stack->set_visible_child(*frame1);
}
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
Glib::RefPtr<Gtk::Builder> ref_builder;
//Child widgets
Gtk::Button *btn1,*btn2;
Gtk::AspectFrame *frame1,*frame2;
Gtk::Button *btn1,*btn2,*btn3,*btnpg2;
Gtk::AspectFrame *frame1,*frame2,*frame3;
Gtk::Stack *main_stack;
//Signal Handlers
void btn1_clicked();
void btn2_clicked();
void btn3_clicked();
void btnpg2_clicked();
};