Menu
如何在 yad 或其他替代方案中製作多個 –scale 對話框?
是否可以在yad中使用多個 –scale或其他替代方法輕鬆進行對話,您能幫我嗎?
我想要一個多開/關的界面。
例子:
這是我的劇本…
#!/bin/sh enable=0 disable=1 ret=$(yad --scale --value $disable --min-value $enable --max-value $disable --text "Enabla/disable sudo" --width=200 --height=100) if [[ $ret -eq 0 ]]; then echo 'enable' elif [[ $ret -eq 1 ]]; then echo 'disable' fi
這是一個用python寫的腳本,我試著學python,不知道怎麼給這個腳本傳值:(
#!/bin/python from gi.repository import Gtk class SwitcherWindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="Switch Demo") self.set_border_width(10) hbox = Gtk.Box(spacing=6) self.add(hbox) switch = Gtk.Switch() switch.connect("notify::active", self.on_switch_activated) switch.set_active(False) hbox.pack_start(switch, True, True, 0) switch = Gtk.Switch() switch.connect("notify::active", self.on_switch_activated) switch.set_active(True) hbox.pack_start(switch, True, True, 0) def on_switch_activated(self, switch, gparam): if switch.get_active(): state = "on" else: state = "off" print("Switch was turned", state) win = SwitcherWindow() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main()
我也嘗試過使用
zenity
和yad
完成 GUI,但是一旦我想做任何更複雜的事情,就像你建議的那樣,我已經碰壁了,這兩個工具並不是真的要完成這樣的任務。它們的最佳點在於非常基本的 GUI 元素,僅此而已,至少在它們目前的形式中是這樣。要執行更複雜的任務,您可能不得不求助於實際的程式語言,例如 Python、Ruby 或 Perl,在這些語言中,您可以更好地訪問 GTK+ 庫,以創建它包含的各種小元件和圖形元素。
另一個競爭者是使用GTKDialog。有一個很好的教程展示了從這篇 PCLinuxOS 雜誌中可以完成的工作,標題為:使用 GTKDialog 創建 GUI。