0

こんにちは私はいくつかのpys60uiプログラミングを行っていたnokia5800電話を持っています。以下のコードを使用して矢印を作成しました。つまり、draw()は矢印をキャンバスの表面に描画します。キャンバスには、最終的にdraw()を呼び出すためにredraw_callbackとresize_callbackが接続されています。しかし、傾けると、画面にランダムなテキスト(ゴミ)が出力されます。

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 に答える