Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2015 10:18:49

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

QTableView не выводит дату

Cheryrg
Все же не могу понять что ужасного в LoginWindow
ну эт я немного погарячился )
но вот главные замечания:
1) зачем эта строка
x = str(x)
2)
BDUSER = str(self.LineEditNameL. text())
BDPASSWORD = str(self.LineEditPassL. text())
зачем пробел перед text() ?
3) использование двух глобальных переменных
хоть это и не С, где глобальные переменные прямой путь программиста в ад, но и в пайтоне это не хорошо
4) у вас в __init__ очень много чего я бы вынес в отдельную функцию



————————————————
-*- Simple is better than complex -*-

Офлайн

#2 Янв. 19, 2015 14:30:03

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2757
Репутация: +  184  -
Профиль   Отправить e-mail  

QTableView не выводит дату

BDUSER = str(self.LineEditNameL. text().toUtf8())
BDUSE = BDUSER.decode("utf-8")
print BDUSE

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



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Янв. 19, 2015 16:29:14

Cheryrg
Зарегистрирован: 2014-10-21
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

QTableView не выводит дату

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

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

Нет, выдает символы как если бы я не ставил u'' перед текстом. По этой ошибке везде по разному советуют и у всех по разному работает. Прям магия блин.

Офлайн

#4 Янв. 19, 2015 18:11:54

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

QTableView не выводит дату

Cheryrg
Прям магия блин.
для меня проблемы с кодировкой в пайтоне всегда были магией, вот поэтому я и просил скинуть весь код, чтобы можно было проверить



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Янв. 19, 2015 18:12:10)

Офлайн

#5 Янв. 19, 2015 19:39:08

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

QTableView не выводит дату

>>> 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.



Офлайн

#6 Янв. 19, 2015 22:45:21

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2757
Репутация: +  184  -
Профиль   Отправить e-mail  

QTableView не выводит дату

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

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



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#7 Янв. 20, 2015 06:52:34

Cheryrg
Зарегистрирован: 2014-10-21
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

QTableView не выводит дату

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’

Офлайн

#8 Янв. 20, 2015 15:11:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

QTableView не выводит дату

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)
и посмотри, что выводит.



Офлайн

#9 Янв. 20, 2015 19:31:31

Cheryrg
Зарегистрирован: 2014-10-21
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

QTableView не выводит дату

<class ‘_mysql_exceptions.OperationalError’> OperationalError(1045, “Access denied for user ‘df’@'localhost' (using password: NO)”)

Офлайн

#10 Янв. 20, 2015 20:24:23

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2757
Репутация: +  184  -
Профиль   Отправить e-mail  

QTableView не выводит дату

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

Это я к тому писал что ошибка возникает только при выводе на консоль. Скорей всего драйвер БД всё поймет правильно. Но использовать кириллический логин не хорошо…



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version