Grafiske brukergrensesnitt: Installere Tk

Tk GUI toolkit ble opprinnelig skrevet for TCL-skriftspråket, men har siden blitt adoptert av mange andre språk, inkludert Rubin. Selv om det ikke er det mest moderne av verktøysett, er det gratis og tverrplattform og er et godt valg for enklere GUI-applikasjoner. Før du kan begynne å skrive GUI-programmer, må du imidlertid først installere Tk-biblioteket og Ruby-"bindingene." En binding er Rubin-koden som brukes til å grensesnitt mot selve Tk-biblioteket. Uten bindinger kan ikke et skriptspråk få tilgang til innfødte biblioteker som Tk.

Hvordan du installerer Tk, vil variere avhengig av operativsystem.

Installere Tk på Windows

Det er mange måter å installere Tk på Windows, men det enkleste er å installere ActiveTCL-skriptspråket fra Active State. Mens TCL er et helt annet skriptspråk enn Ruby, er det laget av de samme menneskene som lager Tk og de to prosjektene er nært knyttet sammen. Ved å installere ActiveState ActiveTCL TCL-distribusjonen, installerer du også Tk verktøysettbibliotekene for Ruby å bruke.

instagram viewer

Gå til ActiveTCL-er for å installere ActiveTCL nedlastingsside og last ned 8.4-versjonen av Standard-distribusjonen. Selv om det er andre distribusjoner tilgjengelig, har ingen av dem funksjonene du trenger hvis du bare vil ha Tk (og standarddistribusjonen er også gratis). Husk å laste ned 8.4-versjonen av nedlastingen da Ruby-bindingene er skrevet for Tk 8.4, ikke Tk 8.5. Imidlertid kan dette endre seg med fremtidige versjoner av Ruby. Når det er lastet ned, dobbeltklikker du på installasjonsprogrammet og følger instruksjonene for å installere ActiveTCL og Tk.

Hvis du installerte Ruby med ett-klikk-installasjonsprogrammet, er Ruby Tk-bindingene allerede installert. Hvis du installerte Ruby på en annen måte og Tk-bindingene ikke er installert, har du to alternativer. Det første alternativet er å avinstallere din nåværende Ruby-tolk og installere på nytt ved hjelp av ett-klikk-installasjonsprogrammet. Det andre alternativet er faktisk langt mer komplisert. Det innebærer å installere Visual C ++, laste ned Ruby-kildekoden og kompilere den selv. Siden dette ikke er den normale driftsmodusen for å installere Windows-programmer, anbefales det å bruke ett-klikk-installasjonsprogrammet.

Installere Tk på Ubuntu Linux

Installere Tk på Ubuntu Linux er veldig enkelt. For å installere Tk og Ruby's Tk-bindinger, installerer du bare libtcltk-ruby pakke. Dette vil installere Tk og Ruby's Tk-bindinger i tillegg til andre pakker som trengs for å kjøre Tk-programmer skrevet i Ruby. Du kan enten gjøre dette fra den grafiske pakkehåndtereren eller ved å kjøre følgende kommando i en terminal.

 $ sudo apt-get install libtcltk-ruby 

Først når libtcltk-ruby pakken er installert, vil du kunne skrive og kjøre Tk-programmer i Ruby.

Installere Tk i andre Linux-distribusjoner

De fleste distribusjoner bør ha en Tk-pakke for Ruby og en pakkebehandler for å håndtere avhengighetene. Se distribusjonenes dokumentasjon og supportfora for mer informasjon, men generelt trenger du enten libtk eller libtcltk pakker så vel som alle ruby-tk pakker for bindingene. Alternativt kan du installere TCL / Tk fra kilde og kompilere Ruby fra kilde med Tk-alternativet aktivert. Siden de fleste distribusjoner vil gi binære pakker for Tk og Ruby Tk-bindinger, bør imidlertid disse alternativene bare brukes som en siste utvei.

Installere Tk på OS X

Å installere Tk på OS X er omtrent det samme som å installere Tk på Windows. Last ned ActiveTCL versjon 8.4 TCL / Tk distribusjon og installer den. Ruby-tolken som følger med OS X bør allerede ha Tk-bindinger, så når Tk er installert, bør du kunne kjøre Tk-programmer skrevet i Ruby.

Testing av Tk

Når du har Tk og Ruby Tk-bindinger, er det lurt å teste det ut og sørge for at det fungerer. Følgende program oppretter et nytt vindu ved bruk av Tk. Når du kjører det, bør du se et nytt GUI-vindu. Hvis du ser feilmeldinger eller det ikke vises noe GUI-vindu, har Tk ikke blitt installert.

 #! / usr / bin / env ruby
krever 'tk'
root = TkRoot.new do
tittelen "Ruby / Tk Test"
slutt
Tk.mainloop