繁体   English   中英

Kivy:我希望将窗口大小的按钮堆叠在屏幕顶部

[英]Kivy:I want window-sized buttons to be stacked on top of the screen

我希望将窗口大小的不透明黑色按钮堆叠在屏幕顶部,并且当我按下不透明黑色按钮时,该按钮将消失并且下面的屏幕将可见。 我尝试过但一直失败。

下面是我的代码( .py

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import Image
from kivy.animation import Animation
from kivy.clock import Clock

class First_Screen(Screen, BoxLayout):
    pass

class ScreenManagement(ScreenManager):
    pass

presentation = Builder.load_file("main.kv")

class TubucApp(App):
    def build(self):
        return presentation

TubucApp().run()

这是我的.kv文件:

ScreenManagement:
    transition:
    First_Screen:

<First_Screen>: #<-i want fullscreen-sized opaque black button covers
                #up this screen and will be disappear when i press the button
    name: 'First_Screen'
    BoxLayout:
        orientation: 'horizontal'
        spacing: 50 
        padding: [50, 50, 50, 50]
        canvas:
            Rectangle:
                pos: self.pos
                size: self.size 
                source: 'image/background.jpg'
        Button:
            id: campustown
            width: 40
            pos_hint: {'x' : 0, 'y':.45}
            size_hint: [.6,.1]
            background_normal:'image/test.png'
            background_down:'image/test2.png'
            border: (0,0,0,0)
            font_size: 15
            text: 'campus-town'

这两个图像显示了我要完成的工作:

IMG01 Img02

我怎样才能做到这一点?

Python代码

  1. class First_Screen()删除BoxLayout

片段-Py

class First_Screen(Screen):
    pass

KV文件

  1. 为按钮添加on_release事件
  2. background_normal设置为background_down

片段-KV

<First_Screen>:
    name: 'First_Screen'

    Button:
        id: campustown
        background_normal: 'image/test.png'
        background_down: 'image/test2.png'
        border: (0,0,0,0)
        font_size: 15
        text: 'campus-town'
        on_release:
            self.background_normal = self.background_down

产量

IMG01 Img02

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM