python - 如何访问python中的自定义类?
问题描述
我是编程新手,刚学python。我有一个非常简单的程序,它显示了一条弹出消息,看起来还可以:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.popup import Popup
class t6App(App):
def build(self):
lb = Label(text="Welcome Here",size_hint=(1,0.8),pos_hint={'left':1,'top':1})
bt = Button(text="Press Me", size_hint=(1,0.1),pos_hint={'left':1,'x':0})
fl = FloatLayout()
fl.add_widget(lb)
fl.add_widget(bt)
cp = Popup(title='Guys', content=fl)
return cp
t6App().run()
然后我想修改它,并添加更多东西,然后弹出窗口没有显示:(2个程序总是相同的)
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.popup import Popup
class CustPop(Popup):
def build(self):
lb = Label(text="Welcome Here",size_hint=(1,0.8),pos_hint={'left':1,'top':1})
bt = Button(text="Press Me", size_hint=(1,0.1),pos_hint={'left':1,'x':0})
fl = FloatLayout()
fl.add_widget(lb)
fl.add_widget(bt)
cp = Popup(title='Guys', content=fl)
return cp
class t6App(App):
def build(self):
cp1 = CustPop()
return cp1
t6App().run()
代码确实可以运行,但似乎无法访问 CustPop() 中的布局 /button /label (成为空白弹出窗口)。我的问题是为什么以及如何使它工作?
谢谢各位。我很感激。
解决方案
您在 中定义了一个build()
方法CustPop
,但与App
类不同的是,该build()
方法不会自动调用。您应该将该代码(进行一些小的更改)放入__init__()
方法中。
class CustPop(Popup):
def __init__(self, **kwargs):
super(CustPop, self).__init__(**kwargs)
lb = Label(text="Welcome Here", size_hint=(1, 0.8), pos_hint={'left': 1, 'top': 1})
bt = Button(text="Press Me", size_hint=(1, 0.1), pos_hint={'left': 1, 'x': 0})
fl = FloatLayout()
fl.add_widget(lb)
fl.add_widget(bt)
# cp = Popup(title='Guys', content=fl)
self.title = 'Guys'
self.content = fl
推荐阅读
- javascript - 使用 JS 的快速 DOM 动画
- android - 未检测到写入 mifare 1k 卡的 Ndef 数据
- html - R Shiny .rmd - 循环生成 HTML div
- google-cloud-platform - 永远加载时如何启动代码编辑器?
- vue.js - Vue Single File Component 卡住了 webpack 开发服务器
- ruby-on-rails - RSpec 示例失败并出现我期望的错误
- c# - 我如何使用“String.Empty”功能从文本中删除单词,但在 c# 中一次删除多个不同的单词
- python - 当矩形与另一个矩形重叠时,OpenCV 加入轮廓
- android - 未解决的依赖项和 gradle 构建错误
- logstash - 如何从logstash中的字段中提取子字符串?