Как в pyqt5 привести значение line edit в int
Проблемма заключается в том что я хочу сделать чтобы с помощью вот этого кода:
def book():
book_name = ui.name_book.text()
numb = ui.number_book.text()
sql.execute(f"SELECT book FROM books WHERE book = '{book_name}'")
if sql.fetchone() is None:
sql.execute(f"INSERT INTO books VALUES (?,?)", (book_name, numb))
db.commit()
else:
sql.execute(f"UPDATE books SET number = '{numb}' WHERE book = '{book_name}'")
db.commit()
у меня прибовлялись в значение number а не изменялось.
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from file_1181916_ui import Ui_MainWindow
import _sqlite3
#add datebase
db = _sqlite3.connect('db.db')
sql = db.cursor()
# Create applicatio
app = QtWidgets.QApplication(sys.argv)
# Create form and init UI
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
# Hook logic
def bp():
ui.label_2.setText("log in")
#print(f'def bp(): log in')
def bp1():
ui.label_3.setText("register")
def reg():
user_log = ui.user.text()
password_user = ui.password.text()
user_name = ui.name.text()
user_secondname = ui.secondname.text()
sql.execute(f"SELECT login FROM users WHERE login = '{user_log}'")
if sql.fetchone() is None:
sql.execute(f"INSERT INTO users VALUES (?, ?, ?, ?)", (user_log, password_user, user_name, user_secondname))
db.commit()
ui.label_3.setText("Вход выполнен!")
else:
ui.label_3.setText("такой аккаунт имеется")
log()
def log():
pass
def book():
book_name = ui.name_book.text()
numb = int(ui.number_book.text())
sql.execute(f"SELECT book FROM books WHERE book = '{book_name}'")
if sql.fetchone() is None:
sql.execute(f"INSERT INTO books VALUES (?,?)", (book_name, numb))
db.commit()
else:
numb = int(numb)
sql.execute(f"UPDATE books SET number = number + {numb} WHERE book = '{book_name}'")
db.commit()
ui.pushButton.clicked.connect(bp)
ui.pushButton_2.clicked.connect(reg)
ui.add_books.clicked.connect(book)
# Run main loop
sys.exit(app.exec_())