2009-04-20 3 views
1

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

ответ

3

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

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

0

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

Убедитесь, что у вас установлена ​​правильная «PyZenity» для версии Python, которую вы используете.

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

Это работает отлично подходит для Python 2.6

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

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

0

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

gtkdialog --glade-xml=file.glade --program=MAIN_WINDOW 
Смежные вопросы