Kirjoittaja Aihe: Helppo GUI Pythonilla?  (Luettu 3840 kertaa)

Exitium

  • Käyttäjä
  • Viestejä: 1013
    • Profiili
Helppo GUI Pythonilla?
« : 02.09.08 - klo:18.37 »
Otin tässä lukion ensimmäisessä jaksossa ATK- kurssin, joka sisältää koodausta Pythonilla (kurssi siis vielä kesken). Periaatteessa olemme jo nyt käyneet kurssin teorian läpi (eli kaikki perusjutut Pythonilla, kieli kun sattuu olemaan suht helppo) ja seuraavaksi olisi tarkoitus tehdä loppukurssi jotain suurempaa työtä.

Itselläni on jo idea, mutta en tässä halua paljastaa sitä (jos se onnistuu, tulette kuulemaan siitä). Tämä kuitenkin vaatii jonkinmoisen GUI:n tekemisen. Opettelimme yhdellä tunnilla pikaisesti yksinkertaisen GUI:n tekemistä EasyGUI:lla, mutta kuten opettaja itsekkin totesi, se on aika "palikka". Eli siis turhan yksinkertainen. Ja lisäksi tarvitsisin hieman enemmän monipuolisuutta, en ihan noin yksinkertaista. Lisäksi haluasin, että jälki olisi tarpeeksi nättiä katsottavaa (mieluiten siis GTK tai QT pohjainen GUI, mutta muukin kelpaa), sillä tuolla EasyGUI:lla sai ainoastaan harmaita lootia ja niiden fonttia pystyi ainoastaan säätämään (näytti Linuxin puolella harvinaisen kaamealta).

Eli tietäisikö joku suhteellisen simppeliä, mutta kuitenkin melko laadukasta GUI:n tekemiseen tarkoitettua juttua Pyhtonilla? Tarkoitus olisi siis tehdä ohjelma, jossa olisi nämä perus säätöakkunat, ponnahdusikkunat (waningit, infot ym.) ja vastaavat. Mitään peliä en ala tekemään, joten sen suhteen mitään ylihyvää (ja hankalaa) juttua GUI:n tekemiseen en vaadi. Sen verran kuitenkin, että perusjutut saa tehtyä laadukkaasti.

Ottakaa lisäksi huomioon, että olen koodannut Pythonilla vasta muutaman viikon.

Kiitos etukäteen.
« Viimeksi muokattu: 02.09.08 - klo:18.41 kirjoittanut Exitium »
Welcome to my signature!

Please note that this signature is licensed under the General Public License. By embedding the signature, or parts of it, into your brain other than by mere aggregation, your brain becomes a combined, and therefore derived, work and thus must be licensed under the GPL too

snifi

  • Vieras
Vs: Helppo GUI Pythonilla?
« Vastaus #1 : 02.09.08 - klo:18.49 »
Täältä löydät esittelyvideon, Python, GTK ja Glade:

http://www.hants.lug.org.uk/cgi-bin/wiki.pl?TechTalks/2ndDecember2006

aarnek

  • Käyttäjä
  • Viestejä: 13
    • Profiili
Vs: Helppo GUI Pythonilla?
« Vastaus #2 : 03.09.08 - klo:00.36 »
jos se on pakko tehdä Pythonilla, niin käytä PyGTK kirjastoa, mutta jos on mahdollista niin suosittelisin tekemään sen ihan C/C++ kielillä. www.gtk.org. Pythonissa on romutettu yleinen ohjelmointikielien syntaksi totaalisesti, mm. whitespacea käytetään aaltosulkujen sijasta, kun muodostetaan lohkoa. Ja jos tarvitset piirtämistä, niin käytä gdk:ta, josta ei ole tiettävästi tutoriaalia verkossa, joten lue APIa

SuperOscar

  • Käyttäjä
  • Viestejä: 3694
  • Tänään täällä, huomenna poissa
    • Profiili
    • Legisign.org
Vs: Helppo GUI Pythonilla?
« Vastaus #3 : 03.09.08 - klo:11.41 »
jos se on pakko tehdä Pythonilla, niin käytä PyGTK kirjastoa, mutta jos on mahdollista niin suosittelisin tekemään sen ihan C/C++ kielillä.

Tuo nyt on vähän höpönpöpöä. Useimmat kotinikkarin ohjelmat voi yhtä hyvin tehdä tulkkaavalla kielellä, jota on helpompi käyttää ja ylläpitää. Koneetkin ovat nopeutuneet viime vuosina niin paljon, että tulkkaavat kielet käyvät yhä useampiin käyttötarkoituksiin. Jos valmiille ohjelmalle kaipaa lisää potkua, sitten voi harkita siirtymistä kääntävään kieleen.

Lainaus
Pythonissa on romutettu yleinen ohjelmointikielien syntaksi totaalisesti,

TUO nyt ainakaan ei näytä olevan ohjelmointia opettavien ja tutkivien yleinen mielipide. Ylipäätään sisennyksen käyttö syntaktisena elementtinä on vain yksi pieni pointti, joka ei mitenkään ”romuta syntaksia totaalisesti” – päinvastoin Pythonin syntaksi on liki esikuvallisen selkeä ja kaunis.
openSUSE Leap 15.2 (pöytäkone 1, kannettavat 1 & 3), openSUSE Tumbleweed (pöytäkone 2, kannettava 2), Ubuntu 20.04 LTS (RPi 2 B)

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Helppo GUI Pythonilla?
« Vastaus #4 : 03.09.08 - klo:12.25 »
Useimmat kotinikkarin ohjelmat voi yhtä hyvin tehdä tulkkaavalla kielellä, jota on helpompi käyttää ja ylläpitää. Koneetkin ovat nopeutuneet viime vuosina niin paljon, että tulkkaavat kielet käyvät yhä useampiin käyttötarkoituksiin. Jos valmiille ohjelmalle kaipaa lisää potkua, sitten voi harkita siirtymistä kääntävään kieleen.

Pieni tarkennus että monet tulkatut kielet, python mukaan lukien, käännetään lennossa tavukoodiksi. Python on huomattavasti nopeampi kuin puhtaasti tulkatut kielet vaikka natiivikoodin nopeuteen ei päästäkään. Loppujen lopuksi aika harvassa sovelluksessa tarvitaan hirveästi nopeutta. Yleensä on parempi kiinnittää huomiota kielen selkeyteen, hallittavuuteen ja muihin vastaaviin ominaisuuksiin.

Minäkään en lähtisi suosittelemaan Pythonia harjoittelevalle C/C++:n käyttämistä. Ennemmin suosittelen kunnollisen tekstieditorin käyttämistä jotta välilyöntien ja tabulaattorien kanssa ei tule ongelmia. Oma suositukseni on tietysti vim. Muitakin suosituksia on olemassa mutta ne ovat vääriä eikä niitä siksi kannata huomioida ;)

Exitium

  • Käyttäjä
  • Viestejä: 1013
    • Profiili
Vs: Helppo GUI Pythonilla?
« Vastaus #5 : 04.09.08 - klo:17.37 »
Mmm... Taidan haistaa offtopicin.

Mutta sanon tässä nyt, että Python on kieli. Ei mikään muu. Olen koodannut pari viikkoa ja kurssin sisältö on Python. Koulun ainoa koodauskurssi. Joten lopettakaa se C:n ym. kielien mussutukset ja pysykää aiheessa. :(

Ja ontopic: Pitääpi katsella tuo yksi linkki jossain välissä.
Welcome to my signature!

Please note that this signature is licensed under the General Public License. By embedding the signature, or parts of it, into your brain other than by mere aggregation, your brain becomes a combined, and therefore derived, work and thus must be licensed under the GPL too

Melmacian

  • Käyttäjä
  • Viestejä: 868
  • Ubuntu Hardy
    • Profiili
Vs: Helppo GUI Pythonilla?
« Vastaus #6 : 04.09.08 - klo:22.38 »
Lainaus
mieluiten siis GTK tai QT pohjainen GUI, mutta muukin kelpaa
Mielestäni vastasit tässä jo itsellesi. PyGTK tai PyQT vaan kehiin. Valinnan näiden välillä voit vaikka tehdä sen perusteella pidätkö KDE:sta vai Gnomesta enemmän :)


jos se on pakko tehdä Pythonilla, niin käytä PyGTK kirjastoa, mutta jos on mahdollista niin suosittelisin tekemään sen ihan C/C++ kielillä. www.gtk.org. Pythonissa on romutettu yleinen ohjelmointikielien syntaksi totaalisesti, mm. whitespacea käytetään aaltosulkujen sijasta, kun muodostetaan lohkoa. Ja jos tarvitset piirtämistä, niin käytä gdk:ta, josta ei ole tiettävästi tutoriaalia verkossa, joten lue APIa
Trolli.

konrad

  • Käyttäjä
  • Viestejä: 224
    • Profiili
Vs: Helppo GUI Pythonilla?
« Vastaus #7 : 05.09.08 - klo:12.29 »
mieluiten siis GTK tai QT pohjainen GUI, mutta muukin kelpaa
Boa constructor on tosi helppo ohjelma graafisten käyttöliittymien tekemiseen. Haittapuolena tuossa on tosin se, että se pohjautuu wxWindowssiin, ei GTK:hon tai QT:hen.  Boa löytyy Ubuntun repoista.

http://boa-constructor.sourceforge.net/

E_LE

  • Käyttäjä
  • Viestejä: 90
    • Profiili
Vs: Helppo GUI Pythonilla?
« Vastaus #8 : 06.09.08 - klo:01.28 »
Myös PGU (Phil's Game Utilities) on PyGame paketin päälle tehty yksinkertainen mutta tehokas GUI. Sillä saa aikaan näyttävääkin jälkeä. Katso esim tutoriaalit täältä
http://www.imitationpickles.org/pgu/docs/

PyGame: http://fi.wikipedia.org/wiki/Pygame

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: Helppo GUI Pythonilla?
« Vastaus #9 : 13.09.08 - klo:10.05 »
Haittapuolena tuossa on tosin se, että se pohjautuu wxWindowssiin, ei GTK:hon tai QT:hen. 

itse asiassa wxwindows+python yhdistelmää on paikoitellen kehuttu aika paljonkin. itse en tosin ole tehnyt gui-softaa pythonilla, joten minulla ei ole varsinaista mielipidettä tähän. linuxissa wxwindows käyttää kuitenkin backendinä gtk+-kirjastoa ja muissa järjestelmissä natiivia widgettikirjastoa.
Janne