为了账号安全,请及时绑定邮箱和手机立即绑定

我可以将所有这些输入作为 for 循环吗?(长袍)

我可以将所有这些输入作为 for 循环吗?(长袍)

BIG阳 2024-01-15 21:15:09
我想制作一个 9x9 的表,用户可以在其中插入值。正如您在代码中看到的,我使用了大量语句来实现此目的。我必须单独进行每个输入。我希望是否有一种方法可以使用 for 循环或其他方法来消除这些语句。我不知道是否有可能做到这一点。请帮帮我。另外,谁能告诉我如何在应用程序的中心保留一个按钮?我必须使用填充来实现此功能。还有其他办法吗?我尝试过style=Pack(alignment=CENTER)但没有成功。我使用它得到的输出是:
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

是的,一个简单的 for 循环和列表或字典可以帮助你。也许类似的东西可以代替输入提示?


self.t = []


for i in range(11, 100):

    if i % 10:

        if not str(i).endswith("3") and not str(i).endswith("6"):

            self.t.append(toga.NumberInput(min_value=0, max_value=9,

                                           default=0, style=Pack(width=50)))

        else:

             self.t.append(toga.NumberInput(min_value=0, max_value=9,

                                           default=0, style=Pack(width=50, padding=(0, 5, 0, 0))))

然后你可以使用以下方法创建行:


self.row1 = toga.Box(

            children=[self.t[0]],

                        self.t[1],

                        self.t[2],

                        self.t[3],

                        self.t[4],

                        self.t[5],

                        self.t[6],

                        self.t[7],

                        self.t[8], ],

            style = Pack(flex=1, alignment=CENTER)

            )

我确信这可以改进,但这适用于您的代码吗?


查看完整回答
反对 回复 2024-01-15
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信