Shell Script с Zenity - PullRequest
       16

Shell Script с Zenity

1 голос
/ 20 апреля 2009

С помощью Zenity можно добавлять кнопки, менять шрифты, что угодно, кроме параметров по умолчанию? Если нет, есть еще один диалог для sh, который позволяет больше настраивать?

Ответы [ 4 ]

3 голосов
/ 20 апреля 2009

Zenity поддерживает несколько HTML-подобных тегов для разметки текста: <b>, <i>, <u>, <s>, <tt>, <big>, <small> и more - ну, на самом деле, Gtk + поддерживает эти теги, но Zenity может воспользоваться этими функциями.

Для большего контроля над вашими диалогами вы можете использовать Kommander . Это как конструктор форм, совместимый со всеми видами языков сценариев: Python, Perl, Ruby, shell. Существует множество примеров .

0 голосов
/ 07 февраля 2013

Вы можете использовать gtkdialog с поляной:

gtkdialog --glade-xml=file.glade --program=MAIN_WINDOW
0 голосов
/ 26 января 2013

Пожалуйста, убедитесь, что у вас установлен правильный PyZenity для используемой версии Python.

Вот ссылка для скачивания pyzenity-0.1.4: Download pyzenity-0.1.4

Это нормально работает для Python 2.6

Кроме того, у меня установлен Python 2.7 на одну из моих других машин, но там выдается та же ошибка.

Итак, чтобы решить эту проблему (для более поздних версий Python), используйте Active Python , а затем используйте ' pym ', чтобы установить Pyzenity для того же.

0 голосов
/ 20 апреля 2009

Вероятно, вы можете изменить стиль с помощью файла ~/.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;
...