<p>我用python开发了一个应用程序,遇到了这个问题:</p>
<pre><code>TypeError: object.__init__() takes no parameters
</code></pre>
<p>我的文件如下:</p>
<h2><strong><code>Main.py</code>:</strong></h2>
<pre><code>from kivy.app import App
from kivy.lang import Builder
from kivy.uix.label import Label
from kivy.uix.scrollview import ScrollView
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.screenmanager import Screen
from kivy.uix.button import ButtonBehavior
from kivy.uix.image import Image
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from clinics.clinicsbanner import ClinicBanner
import psycopg2
class HomeScreen(Screen):
pass
class SettingsScreen(Screen):
pass
class InfoScreen(Screen):
pass
class ResultScreen(Screen):
pass
class ImageButton(ButtonBehavior, Image):
pass
GUI = Builder.load_file('main.kv')
class MainApp(App):
def build(self):
return GUI
def on_start(self):
result_banner = self.root.ids['result_screen'].ids['result_banner']
con = psycopg2.connect(
host="localhost",
database="here is my db",
user="here is my user",
password="here is my password")
cur = con.cursor()
city = self.root.ids['home_screen'].ids.city.text
cur.execute("SELECT * FROM clinic WHERE city='%s'" %city)
rows = cur.fetchall()
for row in rows:
C = ClinicBanner(cities=row[1])
result_banner.add_widget(C)
con.commit()
cur.close()
con.close()
</code></pre>
<h2><strong><code>clinicbanner.py</code>:</strong></h2>
<pre><code>from kivy.uix.floatlayout import FloatLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
class ClinicBanner(GridLayout):
rows = 1
def __init__(self, **kwargs):
super(ClinicBanner, self).__init__(**kwargs)
centre = FloatLayout()
centre_label = Label(text=kwargs['cities'], size_hint=(1, .2), pos_hint={"top": .2, "left": 1})
centre.add_widget(centre_label)
self.add_widget(centre)
</code></pre>
<p>我认为它可能与数据库或<code>clinicbanner.py</code>文件连接,在超级函数中</p>
<p>我相信你能帮助我</p>
<p>谢谢你的回答和帮助</p>