GTK2+ perl glade как связать? (Все-таки решил попробовать перл)

Модератор: Модераторы разделов

ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

GTK2+ perl glade как связать?

Сообщение ekkl »

Для начала попробовал вот это Опеннет
Заработало не сразую Пришлось GTK поменять на GTK2 и добавить use utf8
### Вызвать подпрограмму, закрывающую окно
sub CloseAppWindow{
Gtk->exit(0);
return $false
}

пришлось заменить на

Код: Выделить всё

### Вызвать подпрограмму, закрывающую окно
sub CloseAppWindow{
   exit(0);
   return $false
}

Это так и надо? В связи с переходом на GTK2

Вопрос 2
Все таки не удобно вот так вручную создавать интерфейсы. Как можно создать его с помощью glade и прикрепить?
Если кто может, пожалуйста примерчик, дальше уже буду сам разбираться. :)
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: GTK2+ perl glade как связать?

Сообщение pcodr »

Во второй версии Gtk->exit(0) заменилось на Gtk2->main_quit, так что думаю лучше его и использовать вместо exit().

Glade прикрутить очень просто:

Код: Выделить всё

...
use Gtk2::GladeXML; #подключаем модуль glade
$glade = Gtk2::GladeXML->new(’interface.glade’ ); #загружаем интерфейс из файла
$window = $glade->get_widget("window1"); # помещаем объект главного окна в переменную
...


Вот тут можно прочитать туториал по использованию Gtk2::GladeXML.
Тут документация по всем gtk'шным методам.
Тут оригинальная документация к библиотеке GTK для C, бывает полезна когда документация на gtk2-perl.sourceforge.net оказывается скудной.
Ну и тут еще перечислены другие виды документации.
Также можете взглянуть на программу, которую я забацал по учебным нуждам на gtk2 и perl, может чем поможет.
remote system type is unix
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: GTK2+ perl glade как связать?

Сообщение ekkl »

Тут такой еще вопрос возник.
По поводу самой работы в дизайнере.
Создаю новой окно, помещаю какой-нибудь елемент - он занимает размеры всего окна.
Пробовал, например, помещать таблицу, и в ячейку кнопку. Занимает всю ячейку, но менять сильно размеры все-равно не могу.
Все равно не могу понять, как можно изменять размеры элементов на форме??
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
Grom
Сообщения: 260
ОС: Debian Etch, RHEL-5.4

Re: GTK2+ perl glade как связать?

Сообщение Grom »

На вновь созданное окно примени "Fixed Points", ( "Palette"->GTK+ Basic, в третьей (или второй) строчке снизу справа).
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: GTK2+ perl glade как связать?

Сообщение pcodr »

ekkl
Читайте про упаковку тут
remote system type is unix
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: GTK2+ perl glade как связать?

Сообщение ekkl »

ekkl
Читайте про упаковку тут

Не очень понятно.
На вновь созданное окно примени "Fixed Points", ( "Palette"->GTK+ Basic, в третьей (или второй) строчке снизу справа).

Так я пробовал. Тут проблем нет. Но неясно смысл самой таблицы для элементов. В 3 Глейде, как я понял там можно будет менять размеры ячеек таблицы.
А в 2 нет?
ПОмещаю, скажем таблицу 4х4 Размеры яцеек по горизонтали и вертикали равны.
Помещаю в одну ячейку кнопку, ячейка увеличивается. Затем кномпку удаляю. Размеры ячейки стают очень маленькие.
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: GTK2+ perl glade как связать?

Сообщение pcodr »

Вы вообще придумали что хотите сделать? Нарисуйте и покажите, указав то, что не получается.
remote system type is unix
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: GTK2+ perl glade как связать?

Сообщение ekkl »

Ну, например, вот это
Сложность заключается в том, что не могу задать желаемый размер кнопок, текстового поля и т.д.
Позиция и размер определяется самой программой и я не могу поменять.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: GTK2+ perl glade как связать?

Сообщение pcodr »

Вот так вышло:


Исходник:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
remote system type is unix
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: GTK2+ perl glade как связать?

Сообщение ekkl »

Пробовал. Ратает.
Но меня интересует вот это.
http://library.gnome.org/devel/libglade/
Пишут, что модуль libglade устаревший?

Код: Выделить всё

#!/usr/bin/perl

use Gtk2 -init;
use Gtk2::GladeXML;

$glade  = Gtk2::GladeXML->new("test.glade");
$window = $glade->get_widget("window1");

$window->show_all;
$glade->signal_autoconnect_from_package('main');
Gtk2->main;

sub gtk_main_quit
{
        Gtk2->main_quit;
}

Ведь именно его использует даная программа?
Кстати, как можно установить минимальные размер окна в редакторе glade?
Пробовал выставлять величину окна, так при запуске программы оно все равно уменьшается
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: GTK2+ perl glade как связать?

Сообщение pcodr »

Пишут, что модуль libglade устаревший?

В таком случае можете использовать GtkBuilder.
remote system type is unix
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: GTK2+ perl glade как связать?

Сообщение ekkl »

В таком случае можете использовать GtkBuilder

а как его тогда прикгрутить?
--
Glade3 не хочет сохраниять события, определенные для всего окна.
Что не так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: GTK2+ perl glade как связать?

Сообщение pcodr »

а как его тогда прикгрутить?

Видимо так http://gtk2-perl.sourceforge.net/doc/pod/Gtk2/Builder.html
remote system type is unix
Спасибо сказали: