Dialogo lango „Zenity“ praktinis naudojimas

Aš dažnai lankau savo šalies forumus ... ir, tiesą sakant, retai galima rasti ką nors įdomaus. Tačiau viename iš šių forumų yra vartotojas, parašęs du įdomius įrašus apie „Linux“, ir tai yra pirmasis (kuriuo noriu pasidalinti su jumis):

Dialogo lango „Zenity“ praktinis naudojimas

„Zenity“ yra grafinių dialogo langų rinkinys, kurį naudoja „gtk“ bibliotekos, naudodamiesi šia programa galime įvesti duomenis, pasirinkti užduočių sąrašą, parodyti mums informaciją, gautą iš duoto proceso, leisti pertraukti prieš tam tikrą procesą arba jo metu, be kitų funkcijų.

„Zenity“ susideda iš maždaug 13 grafinių dialogo langų, pažiūrėkime, kas tai yra ir galimi jų deriniai:

1- Norėdami parodyti mums kalendorių ir pasirinkti norimą datą (pasirinkus šią datą, ji bus rodoma skaitmeniniu formatu):

zenity --calendar

2- Įvesti tekstą (labai naudinga prašant duomenų ar failo pavadinimo)

zenity --entry

Sujunkite juos teisingai, kad jis paprašytų mūsų įvesti duomenis

zenity --entry --text "Escriba el nombre del archivo"

3- Pranešti mums, kad įvyko klaida

zenity --error --text "Imposible continuar"

4- Norėdami pasirinkti failą

zenity --file-selection $HOME

Pridėję šią parinktį galime pasirinkti kelis failus:
--multiple

Su tuo pasirinksite tik aplankus
--directory

Tai užuot pasirinkę, suaktyvinsime išsaugojimo parinktį
--save

Tai neleisime perrašyti esamo failo:
--confirm-overwrite

5- Parodykite mums tam tikrą informaciją

zenity --info *text "Información a mostrar"

6- Parodykite mums variantų sąrašą ir pasirinkite vieną arba jų grupę:
zenity --list --column "nombre de columna" "opcion1" "opción2" "opción3" "opción4"

Dabar kas atsitiks, jei norime turėti tam tikrų failų veiksmų sąrašą, bet norime, kad būtų rodomas atlikto veiksmo pavadinimas. Norėdami tai pasiekti, turime naudoti šias dvi parinktis (slėpti stulpelio vertę ir * spausdinti stulpelio vertę), tai atrodys taip:

zenity --hide-column 2 --print-column 2 --list --column "nombre de columna" --column "columna oculta" "nombre1" "comando1" "nombre2" "comando2"

Jei norime pasirinkti daugiau nei vieną veiksmą vienu metu, turime pridėti šias dvi parinktis
Tekstas, kuris skirs pasirinktą seką nuo kitos (šiuo atveju pridedame šį »», kuris reiškia tarpą
--separator=" "

Ir variantas, kuris leis mums pasirinkti daugiau nei vieną veiksmą vienu metu
--multiple

7- Parodykite mums pranešimą meniu juostoje

zenity *notification *text "Texto deseado"

8- Parodykite mums konkretaus proceso pažangą:
zenity --progress --pulsate

9- Tai parodys mums klausimą ir galėsime pasirinkti, ar norime tęsti procesą:

zenity --question --text "Desea Continuar"

10- Tokiu būdu konsolėje galime gauti sekos rezultatus, pvz., Failų paieškos sąrašą, pagalbos užklausas, be kita ko:

zenity --text-info zenity --help-all | zenity --text-info

11- Tai gali mums pranešti, kad procesas buvo nutrauktas.

zenity --warning --text "El proceso ha fallado" ls /media/carpeta || zenity --warning --text "No existe el directorio"

12- Tokiu būdu mes galime pasirinkti nurodytą skaičių naudodami slankiklį:

zenity --scale

Pridėdami šią parinktį, mes galime apibrėžti mažiausią vertę:
--value 60 --min-value 60
(„value“ parinktis niekada neturėtų būti mažesnė nei * min. vertė)

Tuo mes pasirenkame didžiausią vertę
--max-value 100

13- Tai mums parodys dialogo langą, kuriame mes galime pasirinkti norimą spalvą ir paimti spalvą iš kitos pusės vadinamuoju spalvų parinkiklio lašintuvu.
zenity --color-selection --show-palette

Pamatę, kurie dialogo langai yra šioje programoje, pažiūrėkime keletą praktinių pavyzdžių:

- Pažiūrėkime, kaip galime sumaišyti teksto įvesties dialogo langą
naudojant scenarijų:

#!/bin/bash

#Darle a una palabra una secuencia de comandos.

archivo="`zenity --entry --text "Escriba el nombre del archivo"`"

#comando para renombrar

mv "$@" "`dirname "$@"`"/"$archivo"

- Pažiūrėkime, kaip sujungti skaitmeninių skalių dialogo lango numerį 12:
(Tai paprastas scenarijus, skirtas sumažinti JPG vaizdų kokybę ir taip sumažinti vietą, kurią jis užima mūsų diskuose)

#!/bin/bash

#Darle a una palabra una secuencia de comandos.

foto="`zenity --scale --value 80 --min-value 60 --max-value 100`"

#comando para comprimir la imagen

mogrify -compress jpeg -quality "$foto%" "$@"

- Pažiūrėkime dar vieną pavyzdį, kuriame naudosime spalvų parinkiklio dialogo langą, kuriame nuotraukai pridėsime pasirinktos spalvos rėmelį:

#!/bin/bash

#Darle a una palabra una secuencia de comandos.

foto="`zenity --color-selection --show-palette`" marco="`zenity --entry --text "Seleccione el rango deseado 6x6"`"

#comando para agregarle el marco

mogrify -border $marco -bordercolor $foto "$@"

- Pažiūrėkime pavyzdį su klaidos pranešimų dialogo langu:

#!/bin/bash

rm "$@" || zenity --error --text "Imposible de eliminar esto es una carpeta"

Kaip matote, jei kas nors bando ištrinti aplanką, procesas pateikia klaidą, todėl grandinė tęsiasi šių || operatorių dėka.

- Pažiūrėkime, ką galime padaryti naudodami dialogo langą 6, pasirinkdami veiksmus, kuriuos atliksime tam tikrame faile:

#!/bin/bash

actions="`zenity --multiple --separator="" --hide-column 2 --print-column 2 --list --column "nombre de columna" --column "columna oculta" "comprimir un 80%" " -compress jpeg -quality 80%" "Cambiar tamaño a 800x600" " -resize 800x600"`"

#Comando

mogrify$actions "$@"

Atkreipkite dėmesį, kad komandų laukelyje yra tarpas, nes jis neleidžia tekstui prasidėti brūkšneliu, todėl šiuo atveju skiriklis turi būti nulinis –separator = »».

- Pažiūrėkime dar vieną pavyzdį su dialogo langu „Pažanga“

#!/bin/bash

#Script para eliminar

zenity --question --text "Desea borrara las imágenes dentro de esta carpeta `basename "$@"`" && find "$@" -name *.jpg -delete | zenity --list --progress * pulsate

… Na ir štai.

Tikiuosi, kad galėsiu pateikti daugiau įdomių pranešimų.

saludos


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Puvimas87 sakė

    Vienintelis dalykas, dėl kurio aš panaudojau muziką, buvo tai, kad vynuogininkės prašo, kad jis gerai veiktų (bent jau mano arkoje) hehehe ačiū už patarimą

  2.   elav <° Linux sakė

    „Zenity“ naudojamas kai kuriems kitiems triukams, pvz., „Xfce“ paieškos varikliui 😀

  3.   Aaronas Mendo sakė

    Ačiū, ačiū jums labai, gerai, kad jūs kalbate apie „Gtk +“. Aš taip pat naudojau „zenity“, aš vis dar nesuprantu to gerai, bet vėliau naudodamasis jūsų pateikta informacija ir praktikoje galiu rasti praktinį jos panaudojimą.

    Sveikinimai.

  4.   Neo61 sakė

    Ei iš Camaguey (aš turiu prancūzišką klaviatūrą, kuri neleis man rasti dviejų u ... hehehe pinticų), gal galėtumėte gerai paaiškinti, kas tai yra man? Ir jei visa tai daroma konsole? Būtų gerai, jei paskelbtumėte keletą užfiksuotų vaizdų, kad pavyzdžiai būtų iliustruoti ir taip atrodytų geriau, ką norite pasakyti

    1.    KZKG ^ Gaara sakė

      Tiesą sakant, šį straipsnį parašiau ne aš, o vieno iš mūsų forumų vartotojas.
      Taip, visa tai daroma konsole, ir ... kam ji skirta? Na, tai labai paprasta: „žinios“.

    2.    manoloksas sakė

      Naudojimo pavyzdys, kurį galima suteikti muzikinumui prancūzų klaviatūra.


      #! /bin/bash
      # Un cambiador de teclado

      ACTION=`zenity --width=0 --height=260 --list\
      --title "Selector de setxkbmap" --text "Elige tu teclado"\
      --column "Idioma"\
      "Español"\
      "Francés"\
      "Inglés"\
      "Gringo"\
      "Alemán"`

      if [ -n "${ACTION}" ]; then
      case $ACTION in
      Español)
      setxkbmap es && zenity --info --text "Teclado configurado correctamente a español" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
      ;;
      Francés)
      setxkbmap fr && zenity --info --text "Dicho sea en francés: Teclado configurado correctamente a francés" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
      ;;
      Inglés)
      setxkbmap gb && zenity --info --text "Dicho sea en inglés: Teclado configurado correctamente a inglés" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
      ;;
      Gringo)
      setxkbmap us && zenity --info --text "Dicho sea en Gringo: Teclado configurado correctamente a Gringo" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
      ;;
      Alemán)
      setxkbmap de && zenity --info --text "Dicho sea en alemán: Teclado configurado correctamente a alemán" || zenity --info --text "Por alguna razón no fue posible cambiar el mapa de teclado."
      ;;
      esac
      fi

      1.    manoloksas sakė

        Oi, kokia gėda. Tiesioginis kopijavimas ir įklijavimas neveikia, nes kai jis tampa komentaru, jis "negerbia" eilutės pertraukos po kiekvieno atgalinio brūkšnio "\".

        Kad jis veiktų, turite pakeisti atgalinį brūkšnį, po kurio eina eilutė, kad būtų paprasta erdvė.
        Aš nekopijuoju jo dar kartą, kad neprisotinčiau komentarų, bet kad būtų aišku, nuo trečios iki aštuntos eilutės, abi, imtinai, tai turėtų būti viena eilutė, kad

        ACTION = `zenity –width = 0 –height = 260 –list –title« Setxkbmap selector »–text« Pasirinkite klaviatūrą »–stulpelis« Kalba »« Ispanų »« Prancūzų »« Anglų »« Gringo »« Vokiečių »"

        1.    Manuelis de la Fuente sakė

          Jei norite bendrinti kodą komentaruose, galite jį išsaugoti Įklijuoti ir įklijuokite URL į savo komentarą. 🙂

          1.    manoloksas sakė

            Puikus įrankis. Aš nežinojau, kad toks dalykas egzistuoja DesdeLinux.
            Kitą kartą, kai komentarui reikės kodo, jį naudosiu.
            Ačiū už informaciją. XD

  5.   Neo61 sakė

    AH ... ir jei matote, kad aš naudoju „Linux“, tai yra todėl, kad aš naudoju abu, bet man įdomu gerai įsitraukti į „Linux“

  6.   Santjagas sakė

    Labai geras straipsnis !! Tai labai naudinga muzika.

    Aš jį naudoju tunariniame scenarijuje, kuris keičia pasirinktų vaizdų dydį, ir pateikdamas sąrašą, aš siūlau standartinių vaizdų dydžius.

    Sveiki atvykę!

  7.   Hyuuga_Neji sakė

    Man reikia, kad jūs man pasakytumėte, kur rasti „Zenity“, nes aš jau ieškojau ir jo nėra mano turimame atpirkimo sandėlyje. Kaip džiaugiuosi naudodamasis atpirkimu, kurio pats neatsisiųsiu ... (Įspėjimas: šiame komentare aptiktas sarkastiškas režimas)

  8.   Jose Sales sakė

    Pažiūrėkime, ką tu galvoji apie tai?
    #! / bin / bash
    daina = $ (zenity - plotis = 360 - aukštis = 320 - pavadinimas „Paleidimo priemonė“ - failo pasirinkimas - katalogas „HOME“)
    rasti „$ song“ -name * .mp3 | rūšiuoti - atsitiktinai rūšiuoti | galva -n 100 | xargs -d '\ n' mpg123
    Man dar reikia šiek tiek ją patobulinti