嗨我有一部诺基亚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()
以下是我直接拿起手机的样子。
以下是我倾斜时的样子。
答案 0 :(得分:1)
请注意,包含文本的空间(在landspace中)是宽度的大小减去方向为纵向时的宽度。您是否忘记将画布调整为景观新尺寸?
看起来文本是控制台输出,检查未定义的内容以及输出的其他内容。
答案 1 :(得分:0)
appuifw.app.orientation = 'portrait'
甚至:
appuifw.app.orientation = 'landscape'