我正在试着用Toga Canvas
来代替我的Beeware app
.根据Toga docs
,Canvas
在android
https://toga.readthedocs.io/en/latest/reference/api/widgets/canvas.html上应该是完全正常的,
为了判断它,我使用下面附加的简单脚本,当按下draw
按钮时,应该绘制red rectangle
.该脚本在windows
下运行得很好,但在android
下,按下按钮就不会有任何react .我在Beeware emulator
和我的Galaxy 23
上都试了试,结果是一样的.任何关于如何使其发挥作用的建议或提示都将不胜感激.
import toga
from toga.style import Pack
from toga.style.pack import COLUMN, ROW
class HelloWorld(toga.App):
def startup(self):
global canvas
main_box = toga.Box(style=Pack(direction=COLUMN))
test_button = toga.Button("draw",on_press=draw_rect,style=Pack(padding=5))
canvas = toga.Canvas(style=Pack(flex=1))
main_box.add(canvas)
main_box.add(test_button)
self.main_window = toga.MainWindow(title=self.formal_name)
self.main_window.content = main_box
self.main_window.show()
def draw_rect(widget):
with canvas.fill(color="red") as Rect:
Rect.rect(x=50,y=50,width=25,height=15)
def main():
return HelloWorld()