3

我正在用 beeware 构建小型 android 项目。最近发现 beeware toga GUI 工具包不支持 android 中的图像/imageview 是否有任何调整或其他方法可以用来在我的 android 项目中添加图像。我找到了一个叫做 toga-android 但没有指南。任何帮助都会对我很有帮助,谢谢。
这是我的小代码片段。

"""
Time Table app for salah 
"""
import toga
from toga.style import Pack
from toga.style.pack import COLUMN, ROW

class drd(toga.App):

    
    def startup(self):
        """
        Construct and show the Toga application.

        Usually, you would add your application to a main content box.
        We then create a main window (with a name matching the app), and
        show the main window.
        """
        
        self.main_box = toga.Box(style=Pack(direction=COLUMN))

        self.l_username = toga.TextInput(placeholder='User name',style=Pack(flex=1))
        self.l_password = toga.TextInput(placeholder='Password',style=Pack(flex=1))
        
        self.checkbutton = toga.Button('Log in',on_press=self.login_btn,style=Pack(padding=5))
        
        self.label_box = toga.Box(style=Pack(direction=ROW,padding=5))
        self.main_box.add(self.label_box)
        self.label_box.add(self.l_username)
        self.main_box.add(self.l_password)
        self.main_box.add(self.checkbutton)
        
        self.main_window = toga.MainWindow(title=self.formal_name)
        self.main_window.content = self.main_box
        self.main_window.show()
        
    def signup_btn(self,button):
        self.main_window.info_dialog("hi there","Hello {}".format(self.name_input.value))

    def login_btn(self,button):
        if self.l_username.value == "Imtiyaz" and self.l_password.value == "123":
            self.home()

        else:
            self.main_window.info_dialog("User name or Password is incorrect!")
            self.home()

    def home(self):
        self.main_box = toga.Box(style=Pack(direction=COLUMN, background_color='#7ed6c6'))
        self.hello = toga.Label('Hello there!')
        self.img = toga.ImageView(id='images',image='./resources/drd.png')
        self.main_box.add(self.hello)
        self.main_box.add(self.img)
        self.main_window = toga.MainWindow(title="app")
        self.main_window.content = self.main_box
        self.main_window.show()

def main():
    return drd()
4

1 回答 1

0

我可以使用以下导入列表成功启动我正在使用 BeeWare/Toga 在模拟器和 amazon-HD-10 平板电脑上(重新)构建的早期测试应用程序:

import toga
from toga import App, Box, MainWindow
from toga import ImageView, Image
from toga.style import Pack
from toga.style.pack import COLUMN, ROW, BOTTOM, TOP, LEFT
import sys                 # <==  that one's just to exit() the app...

也许你忘记了一个重要的进口?

下方截图左侧有 2 张公文包的 SDK 模拟器重叠图片。
(为了使 ImageViews “可点击”,我必须使用尚未合并到 Toga 的拉取请求分支——而且可能永远不会......)

(这里是我关于 Toga 的 ImageView 的 github 讨论的链接。右侧较小的图片来自 JS 版本,最初是为 Sony-PRS 500 电子书阅读器制作的,16 种灰色阴影)

. . . 模拟器中高级 WORKING APP 的 Youtube 视频

 ===============================================

在此处输入图像描述

于 2021-12-12T10:23:25.890 回答