0
Kivyでは、最初のページで2ページ目を引っ張った後、最初のページをカバーしています。現時点では、ページが透明に見え、第2ページが最初のページをカバーしないため、リストからの単語の重複があります。私はウィジェットの背景色を変えようとしましたが、無駄に、何らかの段階で背景画像を追加しようとしました。これが私の時間を十分に費やしたのを助けてください。可能であれば、kv言語の代わりに純粋なpythonのソリューションを感謝します。例:Kivyのページレイアウトは、オーバーラップを防ぐために1ページ上にカバーします。
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.pagelayout import PageLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.window import Window
from kivy.graphics import Color, Rectangle
# Window.clearcolor = (252, 235, 233, 0)
class MyScreenManager(ScreenManager):
pass
class PageLayoutScreen(Screen):
pass
class PageLayout1(PageLayout):
def __init__(self, **kwargs):
super(PageLayout1, self).__init__(**kwargs)
myList = ['hello there', 'hello to you too']
t = 0
for i in myList:
nameWdgt = Label(text="[b]" + myList[t] + "[/b]", markup=True, font_size='15sp')
locationWdgt = Label(text="[b]" + myList[t] + "[/b]", markup=True, font_size='15sp')
self.add_widget(nameWdgt)
self.add_widget(locationWdgt)
# below is my attempt to cover the first item in the list "hello there" when we pull the second item in the list over it "hello to you too"
with self.canvas.before:
Color(0, 1, 0, 1) # green; colors range from 0-1 instead of 0-255
self.profile_layout = Rectangle(size=self.size, pos=self.pos)
t += 1
root_widget = Builder.load_string('''
#:import NoTransition kivy.uix.screenmanager.NoTransition
#:import sys sys
MyScreenManager:
transition: NoTransition()
PageLayoutScreen:
<PageLayoutScreen>:
name: 'test'
PageLayout1
''')
class ScreenManagerApp(App):
def build(self):
return root_widget
ScreenManagerApp().run()
おかげで動作しますが、私はlayout.canvas.addでちょうどのpythonを使用して行方不明になった作品(色(0を発見した1、0):ここで
は一例です)およびlayout.canvas.add(Rectangle(size =(100、100)))を使用して、それらは、誰かがループしているときに問題がある場合に備えて、ScrollViewの内部で最も効果的です – Jeff