python - Kivy - 在 for 循环中更改按钮属性
问题描述
我正在开发一个小计算器应用程序只是为了好玩,我正在尝试学习 Kivy。这是一些按钮的屏幕截图。
我使用 for 循环将按钮添加到网格布局中。这是代码:
#add number buttons
nums = [7,8,9,4,5,6,1,2,3,'.',0,'%']
for num in nums:
btn = Button(text=str(num))
self.numbers.add_widget(btn)
我想删除默认颜色,然后将其更改为我自己的颜色选择。我将上面的代码更改为:
#add number buttons
for num in nums:
btn = Button(text=str(num))
# Only colors one of the nine buttons - not sure why!
#Remove the default color
btn.background_disabled_normal = ''
#Add the color I want
btn.background_color = (0,1,(13/255))
self.numbers.add_widget(btn)
这是结果的屏幕截图:
我想我认为它每次通过循环时都会执行两行新代码,但事实并非如此。我在这里想念什么?
在此先感谢您的帮助。
解决方案
我认为你需要改变:
btn.background_disabled_normal = ''
至:
btn.background_normal = ''
并改变:
btn.background_color = (0,1,(13/255))
至:
btn.background_color = (0,1,(13/255),1)
推荐阅读
- javascript - 如何使用递归 JavaScript 映射方法从父/子关系创建新对象
- python - 用正则表达式替换数字中的分隔符
- javascript - React - 将“this”作为道具传递
- c# - 无法使用 Godaddy 详细信息从 C# 应用程序发送邮件
- python - 如何根据熊猫数据框中的另一列验证一列(可能使用熊猫模式),Python 3
- ios - Wifi 上的多点连接数据流问题
- python-3.x - 无法在简单的python套接字程序中使用来自客户端的IP地址进行连接
- jquery - 散点线在 y 轴和 x 轴上的“0”之前添加空格
- python - Google Colab:您已连接到 GPU 运行时,但未使用 GPU
- javascript - 错误:appbridgeError: APP::ERROR::INVALID_CONFIG: shopOrigin 必须提供