Форум сайта python.su
Имею метод добавления в QTableWidget:
def addToTable(self, ulica, dom, kv, IP_addr, tel_num, fio, prim, date ):
vsego = len(IP_addr)
self.clientsTable.setRowCount(vsego)
for num in range(vsego):
Item = QtGui.QTableWidgetItem(unicode(ulica,“utf-8”))
self.clientsTable.setItem(num, 0, Item)
Item = QtGui.QTableWidgetItem(unicode(dom,“utf-8”))
self.clientsTable.setItem(num, 1, Item)
Item = QtGui.QTableWidgetItem(unicode(kv,“utf-8”))
self.clientsTable.setItem(num, 2, Item)
Item = QtGui.QTableWidgetItem(unicode(IP_addr,“utf-8”))
self.clientsTable.setItem(num, 3, Item)
Item = QtGui.QTableWidgetItem(unicode(tel_num,“utf-8”))
self.clientsTable.setItem(num, 4, Item)
Item = QtGui.QTableWidgetItem(unicode(fio,“utf-8”))
self.clientsTable.setItem(num, 5, Item)
Item = QtGui.QTableWidgetItem(unicode(prim,“utf-8”))
self.clientsTable.setItem(num, 6, Item)
Item = QtGui.QTableWidgetItem(unicode(date,“utf-8”))
self.clientsTable.setItem(num, 7, Item)
При добавлении, если ulica имеет английский текст. а все остальное на русском,то вся последующая инфомрация сдвигается вниз. ( как на рисунке по ссылке, Grubova должна быть первой)
Но, если ulica хотя бы начинается на русскую букву, то все ок. Что может быть?
P.S информация в списках приходит правильно, проверял принтами.
http://i18.tinypic.com/85ks9ah.png
Вот примерно так должно быть:
http://i1.tinypic.com/8gg4yrm.png
P.S.Вот от этого метода получаем списки:
def getAll(self):
self.ulica =
self.dom =
self.kv =
self.IP_addr =
self.tel_num =
self.fio =
self.prim =
self.date =
for line in self.datafile:
temp_line = line.split(“|”)
self.ulica.append(temp_line)
self.dom.append(temp_line)
self.kv.append(temp_line)
self.IP_addr.append(temp_line)
self.tel_num.append(temp_line)
self.fio.append(temp_line)
self.prim.append(temp_line)
if temp_line == “\n”:
self.date.append(temp_line)
else:
self.date.append(temp_line)
self.parent.Main_win.addToTable(self.ulica, self.dom, self.kv, self.IP_addr, self.tel_num, self.fio, self.prim, self.date)
Отредактировано (Янв. 11, 2008 04:30:09)
Офлайн
в ходе экспериментов выявил, что иожет получаться такой глюк, если начинается на некотоыре большие русские буквы,типа “Р”…
Офлайн
хм.. странность это какая то :(
имею еще вот такую функцию, для доабвления в конец еще 1-ой строки с содержимым:
def addToTableElement(self, ulica, dom, kv, IP_addr, tel_num, fio, prim, date):
ind_row = self.clientsTable.rowCount()
self.clientsTable.insertRow(ind_row)
Item = QtGui.QTableWidgetItem(ulica)
self.clientsTable.setItem(ind_row, 0, Item)
Item = QtGui.QTableWidgetItem(dom)
self.clientsTable.setItem(ind_row, 1, Item)
Item = QtGui.QTableWidgetItem(kv)
self.clientsTable.setItem(ind_row, 2, Item)
Item = QtGui.QTableWidgetItem(IP_addr)
self.clientsTable.setItem(nind_row, 3, Item)
Item = QtGui.QTableWidgetItem(tel_num)
self.clientsTable.setItem(ind_row, 4, Item)
Item = QtGui.QTableWidgetItem(fio)
self.clientsTable.setItem(ind_row, 5, Item)
Item = QtGui.QTableWidgetItem(prim)
self.clientsTable.setItem(ind_row, 6, Item)
Item = QtGui.QTableWidgetItem(date)
self.clientsTable.setItem(ind_row, 7, Item)
весть текст приходит в unicode.
При добавлении, добавляется только в первую ячеку, и все съезжает, как на скрине выше
Офлайн
разобрался. Проблема была из за включенйо сортировки
Офлайн