Glade C ++ приложение, дизайн GUI не то же самое во время выполнения - PullRequest
0 голосов
/ 27 апреля 2011

Я очень новичок в программировании на GUI в Linux, и я спотыкаюсь на 1-м препятствии, я использую glade для разработки формы (я пришел из окон), в Glade он выглядит совершенно иначе, чем когда язапустить скомпилированную программу. вот скриншот их

см. Ссылку, так как они не позволяют мне публиковать изображения

вот c ++

#include <gtk/gtk.h>
void close_app(GtkWidget* widget,gpointer user_data) {
 gtk_main_quit();
}
int main (int argc, char **argv) {
 GtkBuilder *gtkBuilder;
 GtkWidget *mainwin;
 gtk_set_locale();

 gtk_init (&argc, &argv);

 gtkBuilder= gtk_builder_new();
 gtk_builder_add_from_file(gtkBuilder,"test2.glade",NULL);
 gtk_builder_connect_signals ( gtkBuilder, NULL );
 mainwin= GTK_WIDGET(gtk_builder_get_object(gtkBuilder,"window1"));
 g_object_unref ( G_OBJECT(gtkBuilder) );

 gtk_widget_show_all ( mainwin );

 gtk_main ();

 return 0;
}

im на Debian Squeeze ия использую libgtk2.0-dev version 2.20 libgnome2.24 <- я даже не знаю, может ли это быть проблемой? </p>

есть идеи?

Спасибо

1 Ответ

0 голосов
/ 28 апреля 2011

У вас ничего нет в пустых местах в вашем HBox и VBox. Если нет других виджетов, занимающих пространство, то ваша кнопка развернется, чтобы заполнить все доступное пространство. Поместите в окно несколько других виджетов, если вы не хотите, чтобы кнопка их заполняла. Размер и размещение в GTK работают иначе, чем в других наборах инструментов. Идея состоит в том, чтобы создать пользовательский интерфейс, который будет хорошо выглядеть, когда пользователь изменяет размеры окна или когда строки пользовательского интерфейса изменяют длину, поскольку пользователь использует ваше приложение на другом языке.

См. соответствующий раздел учебника GTK или этого другого учебника .

...