複数の--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()
答え1
私も試しました。zenity
そしてyad
GUIを完成させようとしましたが、あなたが提案したようにもう少し複雑な作業をしようとするとすぐに困難に遭遇しました。最良の点は非常に基本的なGUI要素にあり、少なくとも現在の形式ではそれ以上ではありません。
より複雑な作業を行うには、Python、Ruby、Perlなどの実際のプログラミング言語に頼る必要があるかもしれません。ここでは、GTK+ライブラリにアクセスし、その中に含まれるさまざまなウィジェットやグラフィック要素を作成できます。
もう一つの競争相手はGTKダイアログボックス。このPCLinuxOS誌の記事には、できることを示す良いチュートリアルがあります。GTKDialogを使用したGUIの生成。