python - 当我执行简单的 Kivy 代码时出现黑屏
问题描述
我是 kivy 的新手,并且正在使用一些教程,但我只会在视频开发人员在屏幕上获取他们的小部件时出现黑屏。
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
class MyGrid(GridLayout):
def __int__(self, **kwargs):
super(MyGrid, self).__int__(**kwargs)
self.cols = 2
self.add_widget(Label(text="Name: "))
self.name = TextInput(multiline=False)
self.add_widget(self.name)
self.add_widget(Label(text="last name : "))
self.lastName = TextInput(multiline=False)
self.add_widget(self.lastname)
self.add_widget(Label(text="email: "))
self.emailName = TextInput(multiline=False)
self.add_widget(self.emailname)
class MyApp(App):
def build(self):
return MyGrid()
if __name__ == "__main__":
MyApp().run()
解决方案
您的代码中有一些拼写错误。第一个是关于__init__
您拼写的功能__int__
您还使用不同的变量来分配小部件,并使用类似的变量(但不同)来添加它(例如self.lastName = TextInput(multiline=False)
和self.add_widget(self.lastname)
)
此代码应该可以工作:
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
class MyGrid(GridLayout):
def __init__(self, **kwargs):
super(MyGrid, self).__init__(**kwargs)
self.cols = 2
self.add_widget(Label(text="Name: "))
self.name = TextInput(multiline=False)
self.add_widget(self.name)
self.add_widget(Label(text="last name : "))
self.lastName = TextInput(multiline=False)
self.add_widget(self.lastName)
self.add_widget(Label(text="email: "))
self.emailName = TextInput(multiline=False)
self.add_widget(self.emailName)
class MyApp(App):
def build(self):
return MyGrid()
if __name__ == '__main__':
MyApp().run()
推荐阅读
- dc.js - 谁还需要维度?
- java - JxBrowser 网页到 java swing 面板拖放
- docker - 从 golang 主机应用程序连接到在 Docker 中运行的 elasticsearch 6.4
- ruby-on-rails - Rails 或 sinatra 专用于应用程序的内核
- python - 根据Python中文件名的数值对文件进行排序
- c# - 计算年利率
- django - 将初始(和正在进行的)数据加载到 Django 中的标准方法
- swift - 如何在具有一对多关系的核心数据实体中附加记录
- slack - Alertmanager prometheus,发送到无效的松弛通道
- java - 如何制作一个表格来显示 SQLite 数据库中的记录?