【问题标题】:How to change popup color in kivy如何在kivy中更改弹出颜色
【发布时间】:2015-05-10 02:43:46
【问题描述】:

在 Kivy 中,Popup 显示为灰色,应该更改什么使其变为红色

我的弹出代码:

class MyPopup(Popup):
    def show_popup(self):
        content = BoxLayout(orientation="vertical")
        content.add_widget(Label(text="Game Over", font_size=20))
        mybutton_cancel = Button(text="Cancel", size_hint_y=None)
        content.add_widget(mybutton_cancel)

        mypopup = Popup(content = content,              
            title = "oops", 
            auto_dismiss = False,         
            size_hint = (.5, .5))
        mybutton_cancel.bind(on_release=mypopup.dismiss)
        mypopup.open()

我希望,很明显,我在谈论弹出窗口颜色,而不是弹出窗口或弹出文本颜色后面的背景屏幕颜色。我说的是弹出矩形的颜色。请指教。

【问题讨论】:

    标签: python kivy


    【解决方案1】:

    Popup 作为ModalView 的子级,有一个名为backgroundStringProperty,它指向atlas 中的图像。默认值为atlas://data/images/defaulttheme/modalview-background。在这里,我将其更改为默认按钮图像之一:

    from kivy.app import App
    from kivy.uix.button import Button
    from kivy.uix.popup import Popup
    from kivy.uix.label import Label
    
    class TestApp(App):
        def build(self):
            return  Button(text="show", on_press=self.anim_btn)
    
        def anim_btn(self, *args):
            popup = Popup(title='Test popup', 
                content=Label(text='Hello world'), 
                size_hint=(None, None), 
                size=(400, 400),
                background = 'atlas://data/images/defaulttheme/button_pressed'
            ).open()
    
    if __name__ == "__main__":
        TestApp().run()
    

    此默认主题位于此处:https://github.com/kivy/kivy/blob/master/kivy/data/images/defaulttheme-0.png 为了自定义弹出窗口(以及按钮等),您可以创建自己的图集 (http://kivy.org/docs/api-kivy.atlas.html)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多