Pyqt5 qtablewidget tablo içerisine button ekleme

yoneticimain.py

--coding:utf-8--

from io import open
import time
import datetime
from datetime import date
import os
import sys

# reload(sys)
# sys.setdefaultencoding("utf-8")

import requests
from bs4 import BeautifulSoup
from random import choice
from random import randint
from PyQt5 import QtWidgets
from PyQt5 import QtGui
from PyQt5 import QtCore
from PyQt5.QtWidgets import QTabWidget
from PyQt5.QtWidgets import QApplication,QMainWindow,QWidget
from PyQt5.QtWidgets import *
from PyQt5.QtCore import QUrl
from PyQt5.QtCore import QThread
from PyQt5.QtGui import QIcon
from PyQt5.QtGui import QPixmap
import pymysql.cursors

from uygulamayoneticigirisigui import Ui_yoneticigirisi
from uygulamayoneticipanelgui import Ui_yoneticipanel

# Veritabanı bağlantı bilgileri
db = pymysql.connect(host='localhost',
                             user='barron4335',
                             password='*******************',
                             db='esnaf',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

# İşaretçimizi oluşturalım
veritabani = db.cursor()

class app(QMainWindow):
    def __init__(self):
        super(app, self).__init__()

        self.ui = Ui_yoneticigirisi()
        self.ui.setupUi(self)

    def yoneticigiriskontrol(self):
        kullaniciadi = self.ui.kad.text()
        kullanicisifre = self.ui.ksifre.text()

        if kullaniciadi:

            veritabani.execute(
                "SELECT * FROM yoneticikullanicilar WHERE kullaniciadi = '" + kullaniciadi + "'")
            yoneticiadisorgula = veritabani.fetchall()

            if yoneticiadisorgula:

                if kullanicisifre:

                    veritabani.execute("SELECT * FROM yoneticikullanicilar WHERE kullaniciadi = '" + kullaniciadi + "' ")
                    yoneticisifresorgula = veritabani.fetchall()
                    for row in yoneticisifresorgula:
                        iscisifre = row['kullanicisifre']

                    if kullanicisifre == iscisifre:

                        self.ui = Ui_yoneticipanel()
                        self.ui.setupUi(self)

                        veritabani.execute("SELECT * FROM isverenkurumkullanicilar WHERE onay=1")
                        isverenkurumlist = veritabani.fetchall()

                        for isyerleri in isverenkurumlist:
                            self.ui.islist.addItem(isyerleri['kullaniciadi'])

                        self.onayliste()

                    else:
                        self.ui.sonuc.setText("Girilen Yönetici\nŞifresi Yanlıştır..")
                else:
                    self.ui.sonuc.setText("Şifrenizi Giriniz.")
            else:
                self.ui.sonuc.setText("Girilen Yönetici\nİsmi Bulunamadı\nVeya Kayıtlı Değilsiniz..")
        else:
            self.ui.sonuc.setText("Yönetici Adınızı Giriniz.")


    def listegetir(self):

        isyeriadi = self.ui.islist.currentText()

        veritabani.execute("SELECT * FROM iscikullanicilar WHERE isverenkurum='" + isyeriadi + "'")
        iscilist = veritabani.fetchall()

        iscilist2 = []
        for isci in iscilist:
            isciid = str(isci['id'])
            iscionay = isci['onay']
            isciismi = isci['kullaniciadi']

            iscilist2.append([isciid,iscionay,isciismi])

        try:
            self.ui.iscilist.clear()

            numrows = len(iscilist2)
            numcols = len(iscilist2[0])

            self.ui.iscilist.setColumnCount(numcols)
            self.ui.iscilist.setRowCount(numrows)
            self.ui.iscilist.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
            for row in range(numrows):
                for column in range(numcols):
                    self.ui.iscilist.setItem(row, column, QTableWidgetItem(iscilist2[row][column]))

        except Exception as e:

            self.ui.sonuc.setText("İş Yeri Seçimi Yapmadınız.")

    def onayliste(self):

        veritabani.execute("SELECT * FROM isverenkurumkullanicilar WHERE onay=0")
        onaybekleyenisverenler = veritabani.fetchall()

        onaybekleyenlerlist2 = []
        for isci in onaybekleyenisverenler:
            isciid = str(isci['id'])
            iscionay = isci['onay']
            isciismi = isci['kullaniciadi']

            onaybekleyenlerlist2.append([isciid,iscionay,isciismi])

        self.ui.onaybekleyenler.clear()

        numrows = len(onaybekleyenlerlist2)
        numcols = len(onaybekleyenlerlist2[0])

        self.ui.onaybekleyenler.setColumnCount(numcols)
        self.ui.onaybekleyenler.setRowCount(numrows)
        self.ui.onaybekleyenler.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
        for row in range(numrows):
            for column in range(numcols):
                self.ui.onaybekleyenler.setItem(row, column, QTableWidgetItem(onaybekleyenlerlist2[row][column]))
    def onayver(self,id):
        print("ID ye göre onay verme durumuna göre hareket edecek ama qtable a button nasıl"
              "konulacağını bulamadım.")

    def onayverme(self,id):
        print("ID ye göre onay vermeme durumuna göre hareket edecek ama qtable a button nasıl"
              "konulacağını bulamadım.")

if __name__ == '__main__':
    App = QApplication([])
    Uygulama = app()
    Uygulama.show()
    sys.exit(App.exec_())

kodda sorun oluşan bölüm :

def onayliste(self):

veritabani.execute("SELECT * FROM isverenkurumkullanicilar WHERE onay=0")
onaybekleyenisverenler = veritabani.fetchall()

onaybekleyenlerlist2 = []
for isci in onaybekleyenisverenler:
    isciid = str(isci['id'])
    iscionay = isci['onay']
    isciismi = isci['kullaniciadi']

    onaybekleyenlerlist2.append([isciid,iscionay,isciismi])

self.ui.onaybekleyenler.clear()

numrows = len(onaybekleyenlerlist2)
numcols = len(onaybekleyenlerlist2[0])

# Tablo içerisine nasıl button ekleyebilirim ?

self.ui.onaybekleyenler.setColumnCount(numcols)
self.ui.onaybekleyenler.setRowCount(numrows)
self.ui.onaybekleyenler.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
for row in range(numrows):
    for column in range(numcols):
        self.ui.onaybekleyenler.setItem(row, column, QTableWidgetItem(onaybekleyenlerlist2[row][column]))

def onayver(self,id):
    print("ID ye göre onay verme durumuna göre hareket edecek ama qtable a button nasıl"
          "konulacağını bulamadım.")

def onayverme(self,id):
    print("ID ye göre onay vermeme durumuna göre hareket edecek ama qtable a button nasıl"
          "konulacağını bulamadım.")

Tablo içerisine nasıl button ekleyebilirim ? Yani tıklandığı zaman tıklanıldığı satırdaki id ye göre onay verme buttonu nasıl ekleyebilirim ve yanına onay vermeme buttonunu nasıl ekleyebilirim?

yardım edebilecek biri var mı acaba?