Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 4.2.2010, 17:59 |
По моему Antrix, уже решил проблему. почти год назад | |
Кристина | Дата 4.2.2010, 15:28 |
Есть табличка с 2 столбцами и 64к строк. Нужно задать высоту ячеек, например, на 17, ширину на 34. Пробывал делать так: QTableView* t = new QTableView(); t->resizeColumnsToContents(); //или так: for (int i = 0; i < N; i++) //N = 64000 t->horizontalHeader()->resizeSection(i, 17); Оба варианта слишком медлительны. Как можно ускорить этот процес? Текс во всех ячейках одинаковой длины - 4 символа. к примеру делаешь наследника от делегата и переопределяешь в неи метод sizeHint к примеру так
|
|
Litkevich Yuriy | Дата 15.3.2009, 20:23 |
см. слоты у QTableView там четыре штуки, два для строк, два для столбцов | |
anonymous | Дата 15.3.2009, 20:14 |
и получал двестрочки.Скажите, а есть ли какой-нибудь параметр чтобы ячейки сами расширялись показываю что в них написано, без задания конкретных значений ширины??? Интересует именно расширение вниз по ширине. |
|
Litkevich Yuriy | Дата 15.3.2009, 16:30 |
можно было помещать многострочный текст?? я делал так:Или чтобы он хотя бы отображался таковым?? и получал двестрочки. |
|
BRE | Дата 15.3.2009, 15:40 |
Околотемный вопрос, скажите а можно ли сделать так чтобы в ячейке QTableWidget можно было помещать многострочный текст?? Или чтобы он хотя бы отображался таковым?? Делегаты наше Фсе! Переопределяй paint и рисуй хоть по диагонале. |
|
anonymous | Дата 15.3.2009, 15:26 |
Околотемный вопрос, скажите а можно ли сделать так чтобы в ячейке QTableWidget можно было помещать многострочный текст?? Или чтобы он хотя бы отображался таковым?? |
|
Antrix | Дата 15.3.2009, 14:57 |
BRE спасибо за пример . Но все-равно очень долго получается изминение размеров ячеек. По всей видимости, единственый путь, делать так. QTableView* t = new QTableView(); t->horizontalHeader()->setDefaultSectionSize(34); t->verticalHeader()->setDefaultSectionSize(17); Работает многновенно. |
|
BRE | Дата 14.3.2009, 22:18 |
Поглядим. main.cpp
|
|
Stanislaus | Дата 14.3.2009, 21:59 |
Нужно переопределить класс модели, которую ты используешь в QTableView. А именно, переопределить метод QAbstractItemModel::data(), для роли Qt::SizeHint. Так же можно попробовать воспользоваться setData(), но не думаю, что этот вариан будет очень быстрым. После популяции view, нужно выполнить view->resizeRowsToContents() и view->resizeColumnsToContents(), чтобы был учтен size hint. Где-то тут в статьях был очень хороший мануал, как эффективно использовать Model/View фреймворк. Не могу найти, к сожалению. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 18.4.2024, 15:18 |