0

嗨,我有一部诺基亚 5800 手机,我在上面做一些 pys60 ui 编程。我使用下面的代码来创建箭头。简而言之,draw() 会将箭头绘制到画布表面上。画布有 redraw_callback 和 resize_callback 最终连接到调用 draw() 。但是在倾斜时,我会在屏幕上得到一些随机文本(垃圾)输出。

import appuifw
from appuifw import *
import e32
from graphics import *

def up(dummy):
    appuifw.note(u'Button 1 Clicked', 'note')

def down(dummy):
    appuifw.note(u'Button 2 Clicked', 'note')

appuifw.app.screen = 'normal'

def on_resize(dummy):
    draw()

def on_redraw(dummy):
    draw()  

def on_exit():
    global lock
    lock.signal()

def draw():
    global canvas
    canvas.clear()
    canvas.polygon((20,20,20,60,40,40,20,20), fill=(255,0,0), width=10)


canvas = appuifw.Canvas(resize_callback=on_resize, redraw_callback=on_redraw)
lock = e32.Ao_lock()
appuifw.exit_key_handler = on_exit
draw()
lock.wait()

这是我将手机直立时的样子。

保持直

这是我倾斜它时的样子。

斜

4

2 回答 2

1

请注意,包含文本的空间(在陆地空间中)是宽度的大小减去方向为纵向时的宽度。您是否忘记将画布调整为风景新尺寸?

似乎文本是控制台输出,检查未定义的内容以及那里正在输出的其他内容。

于 2011-11-30T09:02:36.370 回答
0
appuifw.app.orientation = 'portrait'

甚至:

appuifw.app.orientation = 'landscape'
于 2017-07-21T14:44:56.177 回答