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