I've been able to solve my problem. Unfortunately, the solution required writing more code, so I don't see it as the best option. For now, though, it will more than suffice.
It seems like a Bash script doesn't quite cut it (no icon gets drawn). A symlink doesn't work, either (presumably, it's because it doesn't find the required imports, cause they aren't in any of the locations Python searches).
#!/usr/bin/env python
"""
This launch script should be placed in /opt/QtPalmtop/bin.
Chown it to root:qpe and chmod it to 755.
It's required for the application to correctly start up in Qtopia. Without it,
it doesn't seem possible to launch the app from the main application launcher,
have the application icon appear on the task bar, and keep the entire app
source tree away from /opt/QtPalmtop/bin.
It should be possible to avoid using this script if the application we're
trying to launch is installed into somewhere where Python can find it.
"""
import traceback
import sys
"""
The location of the log file the launcher will write to.
"""
LOG_FILE = '/home/zaurus/anki_qpe_launcher.txt'
"""
The location of where the source files for AnkiQT Lite reside.
"""
SOURCE_DIR = '/home/zaurus/Documents/python/ankiqpe'
try:
f = open(LOG_FILE, 'w')
try:
for i in range(0, len(sys.argv)):
f.write('sys.argv[%d]: %s\n' % (i, sys.argv[i]))
sys.path.append(SOURCE_DIR)
import ankiqt_lite_main
ankiqt_lite_main.main()
except Exception, e:
f.write(str(traceback.format_exc()))
finally:
f.close()