Python Kivy:KV语言中的代码弹出解除按钮
我正在尝试用kivy编写一个自定义弹出窗口,用于从ColorPicker小部件中选择颜色。现在我正试图连接一个“OK”按钮来关闭弹出窗口,但它不起作用。弹出窗口显示正确,但当我单击“确定”时,什么也没有发生。弹出窗口继续显示在屏幕上 这是我的python代码Python Kivy:KV语言中的代码弹出解除按钮,python,ubuntu-12.04,kivy,Python,Ubuntu 12.04,Kivy,我正在尝试用kivy编写一个自定义弹出窗口,用于从ColorPicker小部件中选择颜色。现在我正试图连接一个“OK”按钮来关闭弹出窗口,但它不起作用。弹出窗口显示正确,但当我单击“确定”时,什么也没有发生。弹出窗口继续显示在屏幕上 这是我的python代码 from kivy.app import App from kivy.uix.popup import Popup from kivy.uix.boxlayout import BoxLayout from kivy.uix.colorpi
from kivy.app import App
from kivy.uix.popup import Popup
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.colorpicker import ColorPicker
class PaintWindow(BoxLayout):
pass
class CPopup(Popup):
def on_press_dismiss(self, *args):
self.dismiss()
return False
class PixPaint(App):
def build(self):
pw = PaintWindow()
return pw
if __name__ == '__main__':
PixPaint().run()
这是KV代码
<PaintWindow>:
orientation: 'vertical'
CPopup:
<CPopup>:
title: 'Pick a Color'
size_hint: 1.0, 0.6
id: cpopup
BoxLayout:
orientation: 'vertical'
ColorPicker:
size_hint: 1.0, 1.0
Button:
text: 'OK'
size_hint: 1.0, 0.2
on_press: cpopup.on_press_dismiss()
:
方向:“垂直”
CPopup:
:
标题:“选择一种颜色”
尺寸提示:1.0,0.6
id:cpopup
盒子布局:
方向:“垂直”
颜色选择器:
大小提示:1.0,1.0
按钮:
文字:“OK”
大小提示:1.0,0.2
新闻发布会:cpopup.on新闻发布会
非常感谢您的帮助。对不起,所有的代码!:) 弹出窗口未关闭的原因是您正在将其直接添加到您的
PaintWindow
中:
<PaintWindow>:
orientation: 'vertical'
CPopup:
2-在其他地方调用open()
方法。作为PixPaint
class PixPaint(App):
def build(self):
pw = PaintWindow()
popup = CPopup();
popup.open()
return pw
为了以防万一,有几个额外的:
:
的定义中去掉id:cpopup
,改用root
(on\u press:root.on\u press\u disclesh()
)而改为按上的:root.disease()
这是有道理的。窗口将其视为一个永久的小部件。谢谢
class PixPaint(App):
def build(self):
pw = PaintWindow()
popup = CPopup();
popup.open()
return pw