
Ist es möglich, einen Dialog mit mehreren --scale inja, oder eine andere Alternative, können Sie mir helfen?
Ich hätte gerne eine Schnittstelle mit Mehrfach-Ein/Aus.
Beispiel:
Dies ist mein Skript ...
#!/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
Dies ist ein in Python geschriebenes Skript. Ich versuche, Python zu lernen. Ich weiß nicht, wie ich Werte in dieses Skript übertrage :(
#!/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()
Antwort1
Ich habe auch versucht, zu verwendenzenity
Undyad
um GUIs zu erstellen, aber sobald ich etwas Komplexeres machen wollte, wie Sie vorschlagen, bin ich an eine Wand gestoßen, wo diese beiden Tools nicht wirklich für solche Aufgaben gedacht sind. Ihr Sweet Spot liegt eher in sehr einfachen GUI-Elementen und nicht mehr, zumindest in ihrer aktuellen Form.
Für kompliziertere Aufgaben müssen Sie wahrscheinlich auf eine echte Programmiersprache wie Python, Ruby oder Perl zurückgreifen, bei der Sie besseren Zugriff auf die GTK+-Bibliotheken zum Erstellen der darin enthaltenen verschiedenen Widgets und grafischen Elemente erhalten.
Ein weiterer Kandidat wäre die VerwendungGTKDialog. Es gibt ein nettes Tutorial, das zeigt, was man erreichen kann, aus diesem Artikel im PCLinuxOS-Magazin mit dem Titel:Erstellen einer GUI mit GTKDialog.