Sqlite PyQt QMessageBox表现得很滑稽
我对QMessageBox的答案有点奇怪。此函数用于从SQLite数据库中删除行。删除前,弹出一个消息框,要求确认。查询执行得很好,除了总是删除,不管我回答是还是否 代码如下:Sqlite PyQt QMessageBox表现得很滑稽,sqlite,pyqt,qmessagebox,Sqlite,Pyqt,Qmessagebox,我对QMessageBox的答案有点奇怪。此函数用于从SQLite数据库中删除行。删除前,弹出一个消息框,要求确认。查询执行得很好,除了总是删除,不管我回答是还是否 代码如下: def deleteFromDB(self): name = (str(self.ui.searchName.text()).upper()) if name: with con: cur = con.cursor() cur.execute('SELECT nam
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])
重要的一点似乎对我很好(QMessageBox.question返回正确的值),这也让我感到困惑。如果我把print(reply)放在那里,它会打印YES和NO对应的值(16384表示YES,65536表示NO)。感谢您的回复。上面示例中的缩进有点奇怪-倒数第二行应该与第9行处于相同的缩进级别。这只是一个粘贴问题还是你的问题?代码(稍微精简)在缩进修复的情况下按预期工作。这是一个粘贴问题,我的编辑器使用制表符,而不是空格进行缩进,所以我尝试“当场”修复它,我想这很糟糕。谢谢你们的回复,这段代码还可以,问题一定在其他地方。