Найти - Пользователи
Полная версия: PyQt - пару вопросов
Начало » GUI » PyQt - пару вопросов
1 2 3 4
well
Всем привет. Есть вопрос по tableWidget. Я добавляю ячейки следующим макаром:
rowNumb = 0
for line in row:
self.ui.tableWidget.insertRow (rowNumb)
itemArr = {0: line.Call_date,
1: line.callingPartyNumber,
2: line.finalCalledPartyNumber,
3: line.duration}
for cel in range (1, 4):
newItem = QtGui.QTableWidgetItem ()
newItem.setText (str (itemArr [cel]))
self.ui.tableWidget.setItem (rowNumb, cel, newItem)
print str (itemArr [cel])
newItem = QtGui.QTableWidgetItem ()
newItem.setText (str (itemArr [0]))
self.ui.tableWidget.setItem (rowNumb, 0, newItem)
rowNumb += 1
Возникает два вопроса:
1). Как можно заставить отображать большое количество строк (более 16000), а то вылетает питон в винде и все на этом :(
2). Почему, если использую код ниже, у меня строки добавляются, но заполняются только самые нижние ячейки?
rowNumb = 0
for line in row:
self.ui.tableWidget.insertRow (rowNumb)
itemArr = {0: line.Call_date,
1: line.callingPartyNumber,
2: line.finalCalledPartyNumber,
3: line.duration}
for cel in itemArr:
newItem = QtGui.QTableWidgetItem ()
newItem.setText (str (itemArr [cel]))
self.ui.tableWidget.setItem (rowNumb, cel, newItem)
rowNumb += 1
poltergeist
Чтобы работать с огромным кол-вом данных надо юзать Model/View Framework, иначе будет охреневший, ничем не оправданный, перерасход ресурсов. Тебе поможет QTableView и наследование класса QAbstractTableModel, в котором надо будет обязательно переопределить несколько виртуальный методов: rowCount(), columnCount() и data(). Дополнительно можешь ещё и headerData() переопределить, чтоб заголовки колонок таблицы были красивее и информативнее.
well
poltergeist
Чтобы работать с огромным кол-вом данных надо юзать Model/View Framework, иначе будет охреневший, ничем не оправданный, перерасход ресурсов. Тебе поможет QTableView и наследование класса QAbstractTableModel, в котором надо будет обязательно переопределить несколько виртуальный методов: rowCount(), columnCount() и data(). Дополнительно можешь ещё и headerData() переопределить, чтоб заголовки колонок таблицы были красивее и информативнее.
а можно пример? А то я только начал с таблицами разбираться.
j2a
well
poltergeist
Чтобы работать с огромным кол-вом данных надо юзать Model/View Framework, иначе будет охреневший, ничем не оправданный, перерасход ресурсов. Тебе поможет QTableView и наследование класса QAbstractTableModel, в котором надо будет обязательно переопределить несколько виртуальный методов: rowCount(), columnCount() и data(). Дополнительно можешь ещё и headerData() переопределить, чтоб заголовки колонок таблицы были красивее и информативнее.
а можно пример? А то я только начал с таблицами разбираться.
http://pypi.python.org/pypi/EuroPython2006_PyQt4_Examples
KriO
aliens
а подскажите пожалуйста, куда копать, чтобы элементыы при изменении окна изменяли свои размеры?

Если Вы добавляете свой виджет в QVBoxLayout или в QHBoxLayout, то вторым параметром в метод addWidget() следует указать 1.
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