Python Qt programování pro Maemo

Flattr this!

Tohle je stručný zápis jednoduchého postupu, jak začít s programováním pro Maemo v programovacím jazyce Python při použití meziplatformní knihovny Qt, tak jak jsem ho pochytil z různých zdrojů na síti. A vůbec to není tak, že by bylo zapotřebí stahovat velké img soubory s Maemo SDK, což jsem ale předtím zbytečně stejně udělal.

První věcí je instalace potřebných nástrojů na počítač:

  1. stáhnout a instalovat instalační balíček Pythonu, použít lze následující link http://python.org/download/releases/2.6.5/ 
  2. stáhnout a instalovat knihovny PyQt od Riverbank, které slouží pro volání funkcí knihovny Qt v jazyce Python.
  3. Pokud se tak nestalo s nějakou jinou aplikací (např. witter, barriosquare apod.), nainstalujte do vaší Nokie N900 z repositářů knihovny PyQt pomocí Správce aplikací.

Při stahování knihoven PyQt dejte pozor na navzájem kompatibilní verze mezi verzí jazyka Python a verzí PyQt, tak aby to běhalo na operačním systému Maemo. Podle stávajících informací pro Maemo existuje interpret pro Python 2.6, vyberte tedy odpovídající verzi knihovny PyQt (v době psaní článku je to verze PyQt 4.7).

Pokud máte nainstalováno, druhým krokem je vytvoření ksichtu aplikace pomocí aplikace QtDesigner.

  1. Spustit pomocí systémové nabídky aplikaci Designer z nabídky PyQt GPL v4.7.4 for Python 2.6.
  2. Vytvořit Main Window formulář a změnit jeho velikost na 800×600 bodů (vlastnost Width a Height pod Geometry).
  3. Přidat na formulář Label Widget a změnit jeho font (vlastnost PointSize) na nějakou rozumnou velikost, třeba 26 bodů.
  4. Poklepáním na umístěný Label Widget máte možnost změnit text, třeba na obligátní Hello World.
  5. Pomocí klávesové zkratky Ctrl+R máte možnost zkontrolovat si, jak formulář vypadá ve skutečnosti.
  6. Uložíte formulář do souboru pomocí nabídky File->Save As. Pro ulehčení si můžete na disku vytvořit adresář ProjektyHelloWorld, třeba přímo pod složkou C:Python26. Formulář pojmenujte jako helloworld.ui.

Třetím krokem je generování testovacího kódu v jazyce Python. K tomu slouží utilita pyuic4.bat, která se nachází ve složce C:Python26Libsite-packagesPyQt4bin. To uvádím kvůli tomu, pokud by instalátor PyQt nepřidal tuto složku do proměnné Path vašeho systému.

  • Spustit příkazovou řádku. Např. pomocí Start/Spustit a do pole Otevřít napsat cmd. Potvrdit klávesou Enter.
  • Přemístit se v příkazové řádce do složky, kam jste uložili soubor helloworld.ui, vytvořený v předchozí části, např. pomocí “cd c:Python26ProjektyHelloWorld”
  • Nyní zavoláme utilitu pyuic4.bat, která přidá k výše vytvořenému formuláři kód nezbytný pro jeho spuštění a otestování:

pyuic4 -x helloworld.ui -o helloworld.py

Přepínač -x způsobí přidání kódu nezbytného pro spuštění a přepínač -o se zase postará o název souboru

  1. Připojit se k vaší Nokii N900 pomocí ssh. K tomu potřebujete nějakého klienta, kdo má rád příkazovou řádku, může použít OpenSSH, jako v tomto návodu. Kdo rád okénka, ať použije třeba WinSCP. Takže pokud Nokii nemáte připojenou do sítě, učiňte tak.
  2. Zjistěte si IP adresu vašeho zařízení. K tomu použijte nejlépe nějaký widget na ploše, třeba Personal IP address. Pokud widget nemáte nainstalovaný, je možné IP adresu získat pomocí následujícího příkazu v terminálu vaší Nokie. Předpokladem je instalace balíčku rootsh.

     

    $ sudo gainroot
    # ifconfig | grep inet Po získání IP adresy terminál nevypínejte, budete ho ještě potřebovat.

  3. Na vašem počítači pak použít získanou IP adresu ke kopírování lokálního souboru helloworld.py do složky /home/opt na vaší Nokii pomocí utility scp v příkazové řádce. V příkladu předpokládám, že IP adresa vaší Nokie je 192.168.1.34.

     

    scp  helloworld.py root@192.168.1.34:/home/opt

  4. Podařilo se? Pokud ano, tak teď stačí na vašem zařízení v terminálu aplikaci spustit.

     

    python /home/opt/helloworld.py 

  5. Protože s největší pravděpodobností své výtvory nebudete chtít spouštět pod rootem, bude zapotřebí přiřadit oprávnění uživateli user. Pokud byste to neudělali, pak by při exekuci předcházejícího příkazu pod standardním uživatelem mohlo dojít k chybě Permission denied. Proto vykonejte následující příkaz v terminálu vašeho zařízení.

     

    chmod o+rwx /home/opt/helloworld.py

  6. Pro kontrolu, jaká oprávnění má soubor helloworld.py, můžete použít následující příkaz:

     

    ls -lg /home/opt/helloworld.py 

    Ve výstupu byste pak na posledních třech pozicích, které jsou použity pro zobrazení práv ostatních uživatelů (majitelem/owner souboru bude při předchozím postupu administrátor root) měli vidět rwx.

Tak a je to. Pro skutečné programování je ale třeba pokročit dále, dialog je třeba rozšířit o tlačítka a jiné uživatelské prvky a naučit program reagovat na různé události. To ale možná až někdy příště.

Leave a Reply

Your email address will not be published. Required fields are marked *

Powered by WordPress | Designed by: suv | Thanks to trucks, infiniti suv and toyota suv