class BrowserGUI(QtGui.QMainWindow): """ The Graphical user interface of the browser """ def __init__(self): QtGui.QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.bt_back.setIcon(QtGui.QIcon().fromTheme("go-previous")) self.ui.bt_ahead.setIcon(QtGui.QIcon().fromTheme("go-next")) self.ui.bt_reload.setIcon(QtGui.QIcon().fromTheme("view-refresh")) self.setWindowIcon(QtGui.QIcon("GUI/logo.png")) self.ui.tab_pages.setCornerWidget(QtGui.QToolButton(self, text="New Tab", icon=QtGui.QIcon.fromTheme("document-new"), clicked=self.add_tab, shortcut="Ctrl+t"))
class BrowserGUI(QtGui.QMainWindow): """ The Graphical user interface of the browser """ def __init__(self): QtGui.QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.bt_back.setIcon(QtGui.QIcon().fromTheme("go-previous")) self.ui.bt_ahead.setIcon(QtGui.QIcon().fromTheme("go-next")) self.ui.bt_reload.setIcon(QtGui.QIcon().fromTheme("view-refresh")) self.setWindowIcon(QtGui.QIcon("GUI/logo.png")) self.ui.tab_pages.setCornerWidget( QtGui.QToolButton(self, text="New Tab", icon=QtGui.QIcon.fromTheme("document-new"), clicked=self.add_tab, shortcut="Ctrl+t"))
class MainWindow_EXEC(): def __init__(self): app = QtWidgets.QApplication(sys.argv) self.MainWindow = QtWidgets.QMainWindow() self.ui = Ui_MainWindow() self.ui.setupUi(self.MainWindow) #-------------------------- self.create_DB() self.ui.btnVer.clicked.connect(self.print_data) self.model = None self.ui.btnVer.clicked.connect(self.sql_tableview_model) self.ui.btnAgregar.clicked.connect(self.sql_add_row) self.ui.btnEliminar.clicked.connect(self.sql_delete_row) #-------------------------- # self.init_tabs() self.MainWindow.show() sys.exit(app.exec_()) #---------------------------------------------------------- def sql_delete_row(self): if self.model: self.model.removeRow(self.ui.tblProductos.currentIndex().row()) else: self.sql_tableview_model() #---------------------------------------------------------- def sql_add_row(self): if self.model: self.model.insertRows(self.model.rowCount(), 1) else: self.sql_tableview_model() #---------------------------------------------------------- def sql_tableview_model(self): db = QtSql.QSqlDatabase.addDatabase('QSQLITE') db.setDatabaseName('Producto.db') tableview = self.ui.tblProductos self.model = QtSql.QSqlTableModel() tableview.setModel(self.model) self.model.setTable('Producto') self.model.setEditStrategy( QtSql.QSqlTableModel.OnFieldChange ) # All changes to the model will be applied immediately to the database self.model.select() self.model.setHeaderData(0, QtCore.Qt.Horizontal, "Cod_Cobro") self.model.setHeaderData(1, QtCore.Qt.Horizontal, "Me") self.model.setHeaderData(2, QtCore.Qt.Horizontal, "cod_Concepto") self.model.setHeaderData(3, QtCore.Qt.Horizontal, "precio") self.model.setHeaderData(4, QtCore.Qt.Horizontal, "Cantidad") self.model.setHeaderData(5, QtCore.Qt.Horizontal, "Total") self.model.setHeaderData(6, QtCore.Qt.Horizontal, "Fecha Cobro") self.model.setHeaderData(7, QtCore.Qt.Horizontal, "Cod_jornada") self.model.setHeaderData(8, QtCore.Qt.Horizontal, "cod_Empleado") #---------------------------------------------------------- def print_data(self): sqlite_file = 'Producto.db' conn = sqlite3.connect(sqlite_file) cursor = conn.cursor() cursor.execute("SELECT * FROM 'Producto' ORDER BY Cod_Cobro") all_rows = cursor.fetchall() pprint(all_rows) conn.commit() # not needed when only selecting data conn.close() #---------------------------------------------------------- def create_DB(self): db = QtSql.QSqlDatabase.addDatabase('QSQLITE') db.setDatabaseName('Producto.db') db.open() query = QtSql.QSqlQuery() query.exec_( "create table Producto(Cod_Cobro int primary key, " "Me int,cod_Concepto int,precio int,Cantidad int,Total int,Fecha Cobro varchar(20),Cod_jornada int,cod_Empleado int )" ) query.exec_( "insert into Producto values(1,1,1,25,2,50,'21/Enero/2019',1,1)") query.exec_( "insert into Producto values(2,1,1,30,2,60,'21/Abril/2019',1,1)") query.exec_( "insert into Producto values(3,1,1,40,2,80,'21/Mayo/2019',1,1)") query.exec_( "insert into Producto values(4,1,1,50,2,1000,'21/Diciembre/2019',1,1)" )
class MainWindow_EXEC(): def __init__(self): app = QtWidgets.QApplication(sys.argv) self.MainWindow = QtWidgets.QMainWindow() self.ui = Ui_MainWindow() self.ui.setupUi(self.MainWindow) #-------------------------- self.create_DB() self.ui.btnVer.clicked.connect(self.print_data) self.model = None self.ui.btnVer.clicked.connect(self.sql_tableview_model) self.ui.btnAgregar.clicked.connect(self.sql_add_row) self.ui.btnEliminar.clicked.connect(self.sql_delete_row) #-------------------------- # self.init_tabs() self.MainWindow.show() sys.exit(app.exec_()) #---------------------------------------------------------- def sql_delete_row(self): if self.model: self.model.removeRow(self.ui.tblPlantillas.currentIndex().row()) else: self.sql_tableview_model() #---------------------------------------------------------- def sql_add_row(self): if self.model: self.model.insertRows(self.model.rowCount(), 1) else: self.sql_tableview_model() #---------------------------------------------------------- def sql_tableview_model(self): db = QtSql.QSqlDatabase.addDatabase('QSQLITE') db.setDatabaseName('Plantilla.db') tableview = self.ui.tblPlantillas self.model = QtSql.QSqlTableModel() tableview.setModel(self.model) self.model.setTable('Plantilla') self.model.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange) # All changes to the model will be applied immediately to the database self.model.select() self.model.setHeaderData(0, QtCore.Qt.Horizontal, "Cod_Plantilla") self.model.setHeaderData(1, QtCore.Qt.Horizontal, "Nombre") self.model.setHeaderData(2, QtCore.Qt.Horizontal, "Clasificacion") self.model.setHeaderData(3, QtCore.Qt.Horizontal, "Intencion") self.model.setHeaderData(4, QtCore.Qt.Horizontal, "También conocido como") self.model.setHeaderData(5, QtCore.Qt.Horizontal, "Motivación") self.model.setHeaderData(6, QtCore.Qt.Horizontal, "Aplicabilidad") self.model.setHeaderData(7, QtCore.Qt.Horizontal, "Estructura") self.model.setHeaderData(8, QtCore.Qt.Horizontal, "Participantes") self.model.setHeaderData(9, QtCore.Qt.Horizontal, "Colaboraciones") #---------------------------------------------------------- def print_data(self): sqlite_file = 'Plantilla.db' conn = sqlite3.connect(sqlite_file) cursor = conn.cursor() cursor.execute("SELECT * FROM 'Plantilla' ORDER BY Cod_Plantilla") all_rows = cursor.fetchall() pprint(all_rows) conn.commit() # not needed when only selecting data conn.close() #---------------------------------------------------------- def create_DB(self): db = QtSql.QSqlDatabase.addDatabase('QSQLITE') db.setDatabaseName('Plantilla.db') db.open() query = QtSql.QSqlQuery() query.exec_("create table Plantilla(Cod_Plantilla int primary key, " "Nombre varchar(20),Clasificacion varchar(20),Intencion varchar(20),También conocido como varchar(20),Motivación varchar(20), Aplicabilidad varchar(20),Estructura varchar(20),Participantes int, Colaboraciones varchar(20))") query.exec_("insert into Plantilla values('1','1','1','25','2','50','21/Enero/2019','1',1,'fad')")