[PythonCE] PythonCE on Smartphone (WM6)
Christopher Fairbairn
christopher at christec.co.nz
Mon Oct 15 22:25:51 CEST 2007
Hi Jorgen,
On Tue Oct 16 5:37 , "Jorgen Bodde" sent:
>I have PythonCE 2.5 and TKinter running on my smartphone. I wrote a
>minimal app and I see a dialog with a button, but since it is a
>smartphone which does only have number keys and a jog dial to control
>the input, the window stays unresponsive to input. I cannot even set
>the focus to a control.
In general smartphone programming is slightly different from programming for a
standard Pocket PC device.
As you mentioned the first issue you typically come across is the lack of ability
to select a control. The solution to this is to programatically select the first
control on your window when initialising it. The OS has support within the default
window procedure to then allow the user to "tab" between controls when the up or
down arrow keys are pressed.
A potentially larger problem with TKinter (a toolkit that I have no experience
with) are issues around the standard controls such as combo boxes and buttons.
On a Windows Mobile smartphone standard controls such as a combo box are exactly
the same as you would see on a Pocket PC device. This leads to usability problems,
for instance with a combo box there is no way to drop down it's list without being
able to click on the little arrow button to the side of the control, which you
obviously can't do on most smartphones.
For this reason Microsoft suggests using a series of alternative controls. For
example what you may think is a combo box within a smartphone application is
probably a 1 line high listbox coupled with an up/down spinbox auto-buddy docked to
its right. Application frameworks such as the .NET Compact Framework generally
abstract this different within their control classes, so an application programmer
creates a "combobox" and the framework determines which set of native controls need
creation to implement this.
I assume that TKinter probably hasn't been implemented with this kind of thing in
mind.
Hope this helps,
Christopher Fairbairn
PS: Just thinking about it now I bieleve TKinter is a framework which essentially
draws all it's own custom controls. If this is the case the problem is probably
more involved, since you won't get the native OS support for selecting controls on
a smartphone etc.
More information about the PythonCE
mailing list