微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我想在 tkinter 中调用另一个类我有 2 个类,我无法调用窗口类下面的数据库类

如何解决我想在 tkinter 中调用另一个类我有 2 个类,我无法调用窗口类下面的数据库类

我是 tkinter 的新手,我才开始研究 Tkinter,我有 2 个类,我正在尝试调用我在窗口类下完成的类。它给了我一个类型错误 database_basket ,类的名称不可调用。有人可以给我一个提示吗?

This is the problem that i am facing

class Window3:

    def __init__(self,master):
        self.master = master
        self.master.title("Payment")
        self.master.geometry("1500x800")
        self.frame = Frame(self.master)
        self.frame.pack()

        self.customer_basket = Database_Basket() # Calling the class below
        self.customer_basket.connection()


    def insert_data(self):
        if len(self.prod_id_var.get()) != 0:
            self.customer_basket(self.prod_id_var.get(),self.prod_name_var.get(),self.prod_qty_var.get(),self.prod_price_var.get())
            self.basket_listBox.delete(0,END)
            self.basket_listBox.insert(END,self.prod_id_var.get(),self.prod_price_var.get())


class Database_Basket:

    def connection(self):
        print("Database is Now connected")
        db_conn = sqlite3.connect("basketinfo.db")
        cursor = db_conn.cursor()
        my_query = "create table if not exists tblbasket(product_id integer primary key,prod_name text,quantity text,price text) "
        cursor.execute(my_query)
        db_conn.commit()
        db_conn.close()
        print("Database connection is finished")

    def data_entry(self,prod_id,prod_name,quantity,price):
        print("Data Entry Method is called")
        connection = sqlite3.connect("basketinfo.db")
        cursor = connection.cursor()
        insert_query = "insert into tblbasket value(?,?,?)"
        cursor.execute(insert_query,(prod_id,price))
        connection.commit()
        connection.close()
        print("Data Entry Method is finished")

解决方法

您是要调用 data_entry 吗:

self.customer_basket.data_entry(self.prod_id_var.get(),self.prod_name_var.get(),self.prod_qty_var.get(),self.prod_price_var.get())

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。