여러 --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 생성.