[英]Can't see my widget in frame in tkinter. I want to see button in bottom of the frame in on ceneter
[英]I want to call another class in tkinter. i have 2 classes and i can't call the database class below my window class
我是 tkinter 的新手,我才开始研究 Tkinter,我有 2 个班级,我正在尝试调用一个 class,我已经在我的 window class 下完成了它。它给了我一个类型错误 database_basket,9851818283 的名称不可调用。 有人可以给我提示吗?
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_name_var.get(), self.prod_qty_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, prod_name, quantity, 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())
我认为这一行:
self.customer_basket(....)
应该:
self.customer_basket.data_entry(.....)
您正在尝试调用实例,而您应该在其中调用 data_entry 方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.