programa simple - uso de SQLite

Programa simple para uso de base de datos SQLite
se utiliza QT designer, Python 3.7 y SQLite
La idea: Lista simple para agregar y quitar palabras y que queden guardadas.
1.primero con QT designer hice la interfaz de usuario...
#!/usr/bin/env python3# -*- coding: utf-8 -*-import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import uic
import sqlite3
class Ventana(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        uic.loadUi("base.ui",self)
 
para las pruebas en pycharm se puede importar uic y con uic,ouadUi("base.ui",self)
pero al momento de compilarlo con pyinstaller fue necesario pasar el .ui a .py con uic5
se puede usar como referencia el siguiente link muy ùtil
luego de hacer los cambios necesarios esa parte me quedó así...
#!/usr/bin/env python3# -*- coding: utf-8 -*-from base_ui import *
import sqlite3
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        QtWidgets.QMainWindow.__init__(self)
        self.setupUi(self)
como se ve ya no es necesario con importar uic y con self.setupUi(self) ahí esta
el codigo sería el siguiente...

!/usr/bin/env python3# -*- coding: utf-8 -*-from base_ui import *
import sqlite3
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        QtWidgets.QMainWindow.__init__(self)
        self.setupUi(self)
        self.Base()
        self.lineEdit.returnPressed.connect(self.agregar)
        self.pushButton_2.clicked.connect(self.borrar)
        self.actualizar()
        self.move(300, 300)
    def Base(self):
        conn=sqlite3.connect("holamundo.db")
        cur=conn.cursor()
        cur.execute("create table if not exists listanegra(id INTEGER primary key, nombre varchar(20))")
        conn.commit()
        conn.close()
    def agregar(self):
        nom=self.lineEdit.text()
        if (nom.isspace()==True or nom==""):
            self.lineEdit.setText("")
        else:
            conn=sqlite3.connect("holamundo.db")
            cur=conn.cursor()
            cur.execute("""INSERT INTO listanegra (nombre) VALUES (?)""",(nom,))
            conn.commit()
            conn.close()
            self.lineEdit.setText("")
            self.actualizar()

    def actualizar(self):
        self.listWidget.clear()
        mostrar=[]
        conn=sqlite3.connect("holamundo.db")
        cur=conn.cursor()
        cursor=cur.execute("select nombre from listanegra")
        for row in cursor:
            indice=0             
            self.listWidget.addItem(row[indice])
            indice+=1 
            mostrar.append(row)
        conn.commit()
        conn.close()
    def borrar(self):
        dd=self.listWidget.currentRow()
        if dd!=-1:
            IDborrado=dd+1             
            conn=sqlite3.connect("holamundo.db")
            cur=conn.cursor()
            cur.execute("""DELETE FROM "listanegra" WHERE id=?""",(IDborrado,))
            cur.execute("""UPDATE "listanegra" SET id=id-1 WHERE id>?""",(IDborrado,))
            conn.commit()
            conn.close()
            self.actualizar()
            self.lineEdit.setText("")
        else:
            pass 
app=QtWidgets.QApplication([])
window=MainWindow()
window.show()
app.exec_()

 comprimido de los archivos:
http://depositfiles.com/files/fc4kyik8z
comprimido del .exe
http://depositfiles.com/files/051s15f1c
el que hice en linux...
http://depositfiles.com/files/pwktxwnmj

referencias:
pyside.githud
 pythondiario
 referencia PyQt5

INDICE