Сценарий оболочки с Zenity
Вопрос
С помощью Zenity можно добавлять кнопки, изменять шрифты, что угодно, кроме параметров по умолчанию?Если нет, то есть еще одно диалоговое окно для sh, которое позволяет выполнять дополнительные настройки?
Решение
Zenity поддерживает несколько HTML-подобных тегов для разметки текста: <b>
, <i>
, <u>
, <s>
, <tt>
, <big>
, <small>
, и Еще -- ну, на самом деле эти теги поддерживает Gtk +, но Zenity может использовать их в дополнение к этим функциям.
Для большего контроля над вашими диалогами вы можете использовать Коммандер.Это похоже на конструктор форм, совместимый со всеми видами скриптовых языков:Python, Perl, Ruby, shell.Существуют различные примеры там, снаружи.
Другие советы
Вероятно, вы можете изменить стиль с помощью ~/.gtkrc
файл, но это может быть болезненно.Возможно, вы захотите просто перейти к написанию реальных программ с графическим интерфейсом с Gtk2-Perl:
#!/usr/bin/perl
use strict;
use warnings;
use Gtk2;
Gtk2->init;
my $window = Gtk2::Window->new;
my $vbox = Gtk2::VBox->new;
my $label = Gtk2::Label->new("Hello World");
my $button = Gtk2::Button->new("Press me");
$window->add($vbox);
$vbox->add($label);
$vbox->add($button);
$window->set_default_size(200, 200);
$window->signal_connect(
destroy => sub {
Gtk2->main_quit;
}
);
my $i = 0;
$button->signal_connect(
clicked => sub {
$label->set_text("button pressed " . ++$i . " times");
}
);
$window->show_all;
Gtk2->main;
Пожалуйста, убедитесь, что у вас установлен правильный 'PyZenity' для используемой вами версии Python.
Вот ссылка для загрузки pyzenity-0.1.4: Скачать pyzenity-0.1.4
Это прекрасно работает для Python 2.6
Кроме того, у меня установлен Python 2.7 на одной из других моих машин, но там это выдает ту же ошибку.
Итак, чтобы решить эту проблему (для более поздних версий Python), используйте Активный Python а затем используйте 'пим' установить Pyzenity для того же самого.
Вы можете использовать gtkdialog с glade:
gtkdialog --glade-xml=file.glade --program=MAIN_WINDOW