Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x TypeError:book()接受1个位置参数,但给出了2个_Python 3.x_Kivy_Kivy Language - Fatal编程技术网

Python 3.x TypeError:book()接受1个位置参数,但给出了2个

Python 3.x TypeError:book()接受1个位置参数,但给出了2个,python-3.x,kivy,kivy-language,Python 3.x,Kivy,Kivy Language,当我运行下面的代码时,我的kivy窗口关闭并显示 此错误: TypeError: book() takes 1 positional argument but 2 were given 我尝试了很多事情,但都没能解决这个问题 这里我有一个Windows应用程序,其中有4个按钮。当用户点击它时,他应该跳到下一个屏幕,但当我点击它时,kivy窗口关闭 class main_menu(Screen): def __init__(self, **kwargs): super()

当我运行下面的代码时,我的kivy窗口关闭并显示 此错误:

TypeError: book() takes 1 positional argument but 2 were given
我尝试了很多事情,但都没能解决这个问题

这里我有一个Windows应用程序,其中有4个按钮。当用户点击它时,他应该跳到下一个屏幕,但当我点击它时,kivy窗口关闭

class main_menu(Screen):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.pic = self.ids["pic"]
        self.pic1 = self.ids["pic1"]
        self.ac=self.ids["ac"]
        self.sd=self.ids["sd"]
        print(phone)

        #self.ac.text=self.user_text.text
        #print(self.l.user_text.text,"jkckhjkfgh")

        self.lst = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]
        self.sql="select * from snm"
        cursor.execute(self.sql)
        self.result = cursor.fetchall()


        self.pic.add_widget(Button(text = "               {}     ".format(self.result[0][0])  + '\n' +
                                        "                  {} , {} ".format(self.result[0][2],self.result[0][3])
                                        + "\n\n               Seating Capacity  :"
                                        + "               {}".format(self.result[0][1])
                                   ,font_size=30
                                   ,font_name="font1"
                                   ,background_normal=self.lst[0]
                                   ,on_press=self.book
                                   ))




        self.pic.add_widget(Button(text="               {}     ".format(self.result[1][0]) + '\n' +
                                        "                  {} , {} ".format(self.result[1][2], self.result[1][3])
                                        + "\n\n               Seating Capacity  :"
                                        + "               {}".format(self.result[1][1])
                                   ,font_size=30
                                   ,font_name="font1"
                                   ,background_normal=self.lst[1]
                                   ,on_press=self.book
                                   ))




        self.pic.add_widget(Button(text="               {}     ".format(self.result[2][0]) + '\n' +
                                        "                  {} , {} ".format(self.result[2][2], self.result[2][3])
                                        + "\n\n               Seating Capacity  :"
                                        + "              {}".format(self.result[2][1])
                                   ,font_size=30
                                   ,font_name="font1"
                                   ,background_normal=self.lst[2]
                                   ,on_press=self.book
                                   ))




        self.pic.add_widget(Button(text="               {}     ".format(self.result[3][0]) + '\n' +
                                        "                  {} , {} ".format(self.result[3][2], self.result[3][3])
                                        + "\n\n               Seating Capacity  :"
                                        + "               {}".format(self.result[3][1])
                                   ,font_size=30
                                   ,font_name="font1"
                                   ,background_normal=self.lst[3]
                                   ,on_press=self.book
                                   ))
        self.h = 4
        self.pic.size = (100, self.h *600)
    def book(self):
        sm.current="book_ticket"
class PopUp(Popup):
    def set(self):
        self.title = 'Wrong Login Details'
        self.content = Label(text = 'You have entered wrong Login Details',font_size=30)
        self.size_hint = (None,None)
        self.size = (600,250)
class book_ticket(Screen):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)
t1=signin(name='signin')
t2=details(name='details')
t3=main_menu(name="main_menu")
t4=book_ticket(name="book_ticket")
print(phone)
print(type(t1))
            #print(t1.user_text.text,phone,23)
            #create local login applic def Start(self):
sm = ScreenManager()
sm.add_widget(t1)
sm.add_widget(t2)
sm.add_widget(t3)
sm.add_widget(t4)
class main(App):
    def build(self):
        return main_menu()
main().run()

尝试此操作,名称将根据您的逻辑显示,而不是硬编码的值。

您需要将book method定义为
def book(self,name)
@yogkm我这样做了,但随后按钮不起作用,即它只是被按下没有执行任何功能我回答了您的问题吗??
...
def book(self, name):
    sm.current = name
...