crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Изменение высоты и ширины ячеек., QTableView
Antrix
  опции профиля:
сообщение 14.3.2009, 18:38
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.9.2008
Пользователь №: 300

Спасибо сказали: 4 раз(а)




Репутация:   0  


Есть табличка с 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 символа.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Antrix
  опции профиля:
сообщение 14.3.2009, 21:18
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.9.2008
Пользователь №: 300

Спасибо сказали: 4 раз(а)




Репутация:   0  


setUpdatesEnabled(...) - непомогло.
Решил проблемму так:
QTableView* t = new QTableView();
t->horizontalHeader()->setDefaultSectionSize(34);
t->verticalHeader()->setDefaultSectionSize(17);
Пробыл сделать как предложил BRE. Не получилось. Переопределил sizeHint, но этот метод даже не вызывается. Нашел решение это й же проблеммы, но все равно не работает.
Вот описание решения: http://lists.trolltech.com/qt-interest/200...ead01062-0.html
Пробую пример не пашет.
Что я делаю не так? Уж очень хочется найти ответ :rolleyes:

Вот исходник.
Прикрепленные файлы
Прикрепленный файл  temp.zip ( 3.3 килобайт ) Кол-во скачиваний: 177
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 14.3.2009, 21:19
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Antrix @ 14.3.2009, 21:14) *
Что я делаю не так? Уж очень хочется найти ответ :rolleyes:

Поглядим.

Сообщение отредактировал BRE - 14.3.2009, 21:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 14.3.2009, 22:18
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(BRE @ 14.3.2009, 21:19) *
Поглядим.


main.cpp

#include <QApplication>
#include <QStandardItemModel>
#include <QTableView>
#include <QHeaderView>
#include "CItemDelegate.h"

int main( int argc, char *argv[] )
{
        QApplication app( argc, argv );

        QStandardItemModel model( 4, 2 );
        for( int row = 0; row < 4; ++row )
        {
                for( int column = 0; column < 2; ++column )
                {
                        QModelIndex index = model.index( row, column, QModelIndex() );
                        model.setData( index, QVariant( (row+1) * (column+1) ) );
                }
        }

        QTableView tableView;

        CItemDelegate delegate( &tableView );
        tableView.setItemDelegate( &delegate );

        tableView.setModel( &model );
        tableView.resizeColumnsToContents();
        tableView.resizeRowsToContents();

        tableView.show();

        return app.exec();
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Antrix   Изменение высоты и ширины ячеек.   14.3.2009, 18:38
- - Litkevich Yuriy   Цитата(Antrix @ 14.3.2009, 21:38) Оба вар...   14.3.2009, 19:04
- - BRE   Цитата(Antrix @ 14.3.2009, 18:38) Есть та...   14.3.2009, 19:05
- - Antrix   setUpdatesEnabled(...) - непомогло. Решил проблемм...   14.3.2009, 21:18
|- - BRE   Цитата(Antrix @ 14.3.2009, 21:14) Что я д...   14.3.2009, 21:19
||- - BRE   Цитата(BRE @ 14.3.2009, 21:19) Поглядим. ...   14.3.2009, 22:18
|- - Stanislaus   Нужно переопределить класс модели, которую ты испо...   14.3.2009, 21:59
- - Antrix   BRE спасибо за пример . Но все-равно очень долго ...   15.3.2009, 14:57
- - anonymous   Околотемный вопрос, скажите а можно ли сделать так...   15.3.2009, 15:26
|- - BRE   Цитата(anonymous @ 15.3.2009, 15:26) Окол...   15.3.2009, 15:40
- - Litkevich Yuriy   Цитата(Гость_anonymous_* @ 15.3.2009, 18...   15.3.2009, 16:30
|- - anonymous   Цитата(Litkevich Yuriy @ 15.3.2009, 16:30...   15.3.2009, 20:14
- - Litkevich Yuriy   см. слоты у QTableView там четыре штуки, два для с...   15.3.2009, 20:23
- - Кристина   Цитата(Antrix @ 14.3.2009, 18:38) Есть та...   4.2.2010, 15:28
- - Litkevich Yuriy   По моему Antrix, уже решил проблему. почти год наз...   4.2.2010, 17:59


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 0:42