[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