Я хочу, чтобы моя панель инструментов находилась в верхней части окна, а не вертикально расширялась, и я хочу, чтобы запись расширялась горизонтально. Вот код:gtkmm, как установить панель инструментов?
main.cc
// g++ test2.cc `pkg-config gtkmm-3.0 --libs --cflags` -std=c++11
#include <gtkmm.h>
int main(int argc, char **argv)
{
Glib::RefPtr<Gtk::Application> app = Gtk::Application::create("My.ToolBar.Drive.Me.Crazy");
/*window*/
Gtk::Window * W1 = new Gtk::Window();
W1->set_default_size(800, 600);
/*box*/
Gtk::Box * X1 = new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL);
/*toolbar*/
Gtk::Toolbar * T1 = new Gtk::Toolbar();
/*button*/
Gtk::ToolButton * B1 = new Gtk::ToolButton(Gtk::Stock::GO_BACK);
/*button*/
Gtk::ToolButton * B2 = new Gtk::ToolButton(Gtk::Stock::GO_FORWARD);
/*tool item for the entry*/
Gtk::ToolItem * I1 = new Gtk::ToolItem();
/*entry*/
Gtk::Entry * E1 = new Gtk::Entry();
/*button*/
Gtk::ToolButton * B3 = new Gtk::ToolButton(Gtk::Stock::GO_BACK);
T1->append(*B1);
T1->append(*B2);
T1->append(*I1);
T1->append(*B3);
I1->add(*E1);
X1->pack_start(*T1, true, true);
W1->add(*X1);
W1->show_all();
app->run(* W1);
delete B1;
delete B2;
delete B3;
delete I1;
delete E1;
delete X1;
delete W1;
}
Я не понимаю, в чем разница между расшириться и заполнить, есть две функции, set_hexpand()
и set_vexpand()
все, что я пытался (последние два часа) с этими функциями я всегда получаю тот же результат, что и с кодом выше.
Hi Joel, thx для вашего ответа! sry для моей латентности, некоторые личные проблемы ... Во всяком случае, я снова в бизнесе, и ваш ответ все хорошо! –
Рад, что это вам поможет :) – Joel