【问题标题】:Shell Script with Zenity带有 Zenity 的 Shell 脚本
【发布时间】:2010-10-20 15:59:22
【问题描述】:

使用 Zenity 可以添加按钮,更改字体,除了默认选项之外的任何其他内容? 如果没有,还有另一个允许更多自定义的 sh 对话框?

【问题讨论】:

    标签: linux shell zenity


    【解决方案1】:

    您可以将 gtkdialog 与 glade 一起使用:

    gtkdialog --glade-xml=file.glade --program=MAIN_WINDOW
    

    【讨论】:

      【解决方案2】:

      请确保为您使用的 Python 版本安装了正确的“PyZenity”。

      这里是下载pyzenity-0.1.4的链接:Download pyzenity-0.1.4

      这在 Python 2.6 上运行良好

      另外,我在我的另一台机器上安装了 Python 2.7,但那里出现了同样的错误。

      因此,要解决此问题(对于更高版本的 Python),请使用 Active Python,然后使用“pym”安装 Pyzenity。

      【讨论】:

        【解决方案3】:

        Zenity 支持一些类似 HTML 的标签用于文本标记:<b><i><u><s><tt><big><small>more——好吧,实际上是 Gtk+ 支持这些标签,但 Zenity 搭载了这些功能。

        要更好地控制您的对话框,您可以使用Kommander。它就像一个与各种脚本语言兼容的表单生成器:Python、Perl、Ruby、shell。有各种各样的examples

        【讨论】:

          【解决方案4】:

          您可以使用~/.gtkrc 文件更改样式,但这可能会很痛苦。您可能只想继续使用Gtk2-Perl 编写真正的 GUI 程序:

          #!/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;
          

          【讨论】:

            猜你喜欢
            • 2014-01-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-12-06
            相关资源
            最近更新 更多