Найти - Пользователи
Полная версия: QTableView не выводит дату
Начало » GUI » QTableView не выводит дату
1 2 3
terabayt
Cheryrg
Все же не могу понять что ужасного в LoginWindow
ну эт я немного погарячился )
но вот главные замечания:
1) зачем эта строка
x = str(x)
2)
BDUSER = str(self.LineEditNameL. text())
BDPASSWORD = str(self.LineEditPassL. text())
зачем пробел перед text() ?
3) использование двух глобальных переменных
хоть это и не С, где глобальные переменные прямой путь программиста в ад, но и в пайтоне это не хорошо
4) у вас в __init__ очень много чего я бы вынес в отдельную функцию
Rodegast
BDUSER = str(self.LineEditNameL. text().toUtf8())
BDUSE = BDUSER.decode("utf-8")
print BDUSE

Разве self.LineEditNameL.text().toUtf8() не работает?
Cheryrg
x = str(x)
Сей час на работе, но помню что ругался на тип переменной. Так заработало.
connection в любом случае объявлять как глобальную. По другому как передать ее дальше решения не нашел. а вот cursor Вы правы.
Пробелы по невнимательности

Rodegast
Разве self.LineEditNameL.text().toUtf8() не работает?

Нет, выдает символы как если бы я не ставил u'' перед текстом. По этой ошибке везде по разному советуют и у всех по разному работает. Прям магия блин.
terabayt
Cheryrg
Прям магия блин.
для меня проблемы с кодировкой в пайтоне всегда были магией, вот поэтому я и просил скинуть весь код, чтобы можно было проверить
py.user.next
>>> str(u'абв')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
>>>

Надо убрать просто str.
Rodegast
> Нет, выдает символы как если бы я не ставил u'' перед текстом.

Какая кодировка у консоли? Если не utf-8, то будут ошибки.
Cheryrg
Rodegast
> Нет, выдает символы как если бы я не ставил u'' перед текстом.

Какая кодировка у консоли? Если не utf-8, то будут ошибки.
DOC


x = str(x) Если убираю , выдает:

reply = QtGui.QMessageBox.critical(self,u'Ошибка!!',x)
TypeError: arguments did not match any overloaded call:
QMessageBox.critical(QWidget, QString, QString, QMessageBox.StandardButtons buttons=QMessageBox.Ok, QMessageBox.StandardButton defaultButton=QMessageBox.NoButton): argument 3 has unexpected type ‘OperationalError’
QMessageBox.critical(QWidget, QString, QString, int, int, int button2=0): argument 3 has unexpected type ‘OperationalError’
QMessageBox.critical(QWidget, QString, QString, QString, QString button1Text=QString(), QString button2Text=QString(), int defaultButtonNumber=0, int escapeButtonNumber=-1): argument 3 has unexpected type ‘OperationalError’
py.user.next
Cheryrg
reply = QtGui.QMessageBox.critical(self,u'Ошибка!!',x)
TypeError: arguments did not match any overloaded call:

>>> 'Ошибка'.encode('utf-8').decode('cp1251')
'Ошибка'
>>>

Перед строкой с reply вставь
print type(x), repr(x)
и посмотри, что выводит.
Cheryrg
<class ‘_mysql_exceptions.OperationalError’> OperationalError(1045, “Access denied for user ‘df’@'localhost' (using password: NO)”)

Rodegast
>> Какая кодировка у консоли? Если не utf-8, то будут ошибки.
> DOC

Это я к тому писал что ошибка возникает только при выводе на консоль. Скорей всего драйвер БД всё поймет правильно. Но использовать кириллический логин не хорошо…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB