мусорный текст, нарисованный на экране при наклоне - PullRequest
0 голосов
/ 24 ноября 2011

Привет, у меня есть телефон nokia 5800, на котором я занимался программированием интерфейса pys60.Я использовал приведенный ниже код для создания стрелки.Короче, 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()

Вот как это выглядит, когда я держу телефон прямо вверх.1007 *

Вот как это выглядит, когда я наклонил его.

Tilted

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Обратите внимание, что пространство с текстом (в пространстве) - это размер ширины минус ширина, которая была, когда ориентация была портретной.Вы забыли изменить размеры холста в соответствии с новыми размерами ландшафта?

Кажется, что текст является выводом на консоль, проверьте, что не определено и что там выводится.

0 голосов
/ 21 июля 2017
appuifw.app.orientation = 'portrait'

или даже:

appuifw.app.orientation = 'landscape'
...