问题描述
好的,所以我正在尝试制作一个带有名称和间隔的间隔计时器,然后当您单击“添加间隔”时,它会在“工具栏”下方添加一个带有名称和间隔的标签。我尝试了几件事,但不太了解 recycleview,所以如果有人能解释一下我将如何进行编程,因为我不太了解 kivy。
Python 代码
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.graphics import Rectangle
from kivy.graphics import Color
from kivy.uix.button import Button
from kivy.properties import ObjectProperty
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.screenmanager import ScreenManager,Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.popup import Popup
from kivy.config import Config
from kivy.uix.recycleview import RecycleView
from kivy.uix.recycleview.views import RecycleDataViewBehavior
from kivy.uix.label import Label
from kivy.properties import BooleanProperty
from kivy.uix.recycleboxlayout import RecycleBoxLayout
from kivy.uix.behaviors import FocusBehavior
from kivy.uix.recycleview.layout import LayoutSelectionBehavior
class IntervalClass(FloatLayout,RecycleDataViewBehavior,Label):
interval_name = ObjectProperty()
interval_time = ObjectProperty()
def __init__(self,**kwargs):
super(IntervalClass,self).__init__(**kwargs)
def submit_interval(self):
# This makes a new label with name and time
def edit_interval(self):
pass
def del_inteval(self):
pass
class IntervalApp(App):
def build(self):
return IntervalClass()
app = IntervalApp()
app.run()
KV
<IntervalClass>:
name: name
time: time
interval_data: interval_data
viewclass: "Button"
FloatLayout:
canvas.before:
Color:
rgba: 1,1,.75
Rectangle:
pos: self.pos
size: self.size
Label:
pos_hint: {"center_x": .5,"y": .45}
text: "Interval Timer"
font_size: 40
color: 0,1
FloatLayout:
size_hint: 1,.125
pos_hint: {"x": 0,"top": .85}
canvas.before:
Color:
rgba: 1,.2
Rectangle:
pos: self.pos
size: self.size
Button:
text: "Add Interval"
pos_hint: {"x": .025,"top": 1}
size_hint: .25,1
font_size: 30
color: 0,1
background_color: 0,.15
on_press: self.background_color = 0,.30
on_press: root.submit_interval()
on_release: self.background_color = 0,.15
Label:
text: "Name:"
pos_hint: {"x": .295,"top": 1}
size_hint: .13,.20
TextInput:
id: name
pos_hint: {"x": .45,"top": 1}
size_hint: .17,1
font_size: 40
color: 0,1
background_color: 1,.45
multiline: True
Label:
text: "Interval:"
pos_hint: {"x": .65,.20
TextInput:
id: time
text: ":"
font_size: 40
pos_hint: {"x": .8,1
color: 0,.45
multiline: False
halign: "center"
RecycleView:
id: interval_data
viewclass: "Label"
RecycleBoxLayout:
size_hint_y: None
height: self.minimum_height
orientation: 'vertical'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)