1. Package overview # Python 2.4 pacakge directory python2.4a0 # Python 2.4 lib and headers python2.4lib # Qt graphics engine qtpyui # Device profile for Broadcom 1103 MIPS brcm1103 # Convenient scripts extrafiles/build-qtopia.sh - script to cross compile Qtopia using the device profile extrafiles/run.sh - script to setup environment and run QtPythonUI on the target # Extra files that need to go into /usr/local/lgvp extrafiles/evas.py - PythonQt interface layer extrafiles/qtkey.py - qt key code and value mapping, provided for convenience 2. How to build, two steps are required # Buidling Qtopia - Create a working directory e.g. mkdir $HOME/lgvp - Decompress the Qtopia source package within the working directory e.g. cd $HOME/lgvp tar zxf qtopia-phone-commercial-4.3.1 - Copy the device profile diectory e.g. cp -r brcm1103 $HOME/lgvp/qtopia-phone-4.3.1/devices - Copy the mips32 toolchain e.g. cp -r toolchain/mips32 $HOME/lgvp/toolchain - Create a build directory under the working directory e.g. mkdir $HOME/lgvp/build - Copy build-qtopia.sh to the directory e.g. cp extrafiles/build-qtopia.sh $HOME/lgvp/build - Modify build-qtopia.sh to set WORK_PATH correctly e.g. cd $HOME/lgvp/build vi build-qtopia.sh - Build Qtopia e.g. cd $HOME/lgvp/build/build-qtopia.sh # Build qtpyui - Change to qtpyui directory e.g. cd $HOOME/lgvp/qtpyui - Modify build-target.sh script to set WORK_PATH correctly - Run the script e.g. $HOME/lgvp/qtpyui/build-target.sh 3. qtpyui directory structure qtpyui/home - home.pro to install audio, video resourses optional qtpyui/python - python 2.4 info to include headers and link against, used to build pythonqt qtpyui/pythonqt - pythonqt package qtpyui/resources - config file etc qtpyui/server - Qt canvas painting engine project qtpyui/uitools - Qt tool, required to build pythonqt 4. Main classes in Qt Canvas system Canvas - A main widget that items are places onto CanvasItem - A wrapper classt for object such as rectangles, texts, and images 5. Output Qtopia libraries and binaries $HOME/lgvp/build/image/* PythonQt lib $HOME/lgvp/lib/* PythonQt binding to be copied to /usr/local/lgvp $HOME/qtpyui/image/QtPythonUI Extra python files to be copied to /usr/local/lgvp $HOME/lgvp/extrafiles/*py Run script to be copied to /usr/local/lgvp $HOME/lgvp/extrafiles/run.sh