QMessageBoxの回答に多少奇妙な問題があります。この関数は、SQLiteデータベースから行を削除するために使用されます。削除する前に、メッセージボックスが表示され、確認を求められます。クエリは正常に実行されますが、YESまたはNOで答えたかどうかに関係なく、常に削除されます。
コードは次のとおりです。
def deleteFromDB(self):
name = (str(self.ui.searchName.text()).upper())
if name:
with con:
cur = con.cursor()
cur.execute('SELECT name FROM cases WHERE name =?',[name])
tempname = str(cur.fetchone())
if len(tempname) != 4 :
reply = QtGui.QMessageBox.question(self, 'Removal',
"Are you sure ", QtGui.QMessageBox.Yes |
QtGui.QMessageBox.No, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
cur.execute('DELETE FROM cases where name =?',[name])