Я пытаюсь предупредить пользователя при вводе неверных данных, показывая QMessageBox. Проблема в том, что он дал мне эту ошибку: TypeError: аргументы не соответствовали перегруженному вызову. Код я написал это:Ошибка при показе QMessageBox в setModelData
def setModelData(self, editor, model, index):
if index.column() == 1:
data = editor.text()
query = QSqlQuery()
query.exec_("select * from gaceta where nombre='%s'" % (data,))
if query.next():
QMessageBox.warning(self, 'Error', 'Ya hay una Gaceta con ese nombre')
else:
model.setData(index, QVariant(data))
Я смотрю на элемент с тем же именем в базе данных, и если я найду какой-либо я не установить данные и вместо того, чтобы сообщить пользователю об ошибке проверки. Если есть лучший способ сделать это, пожалуйста, скажите, thnks
Я изменил себя для редактора, и все сработало, как ожидалось. Знал, что первым аргументом 'QMessageBox' должен быть' QWidget'. Thnks – user3213906