crossplatform.ru

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


  Ответ в Тормоза при формировании заголовка QTableWidget
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Алексей1153 Дата 7.12.2017, 7:37
  вот это
QApplication::processEvents();
там точно не нужно


А ещё попробуй с моделью сделать на основе QTableView
demon051 Дата 6.12.2017, 9:42
  Всем привет.
Помогите пожалуйста, найти вариант решения проблемы.

Формирую заголовок QTableWidget

 
    _ui.calcDataView->setColumnCount(daysCnt*2 + 1);

    QTableWidgetItem * item = new QTableWidgetItem("ID");
    _ui.calcDataView->setHorizontalHeaderItem(0,item);
    _ui.calcDataView->hideColumn(0);
   QDate dt = _reportParameters->from().date();

    for(int i=1; i<=daysCnt*2; i++)
    {
       QCoreApplication::processEvents();
       QString str = QString::fromUtf8("Приход %1").arg(dt.toString("dd.MM"));

       QTableWidgetItem * item = new QTableWidgetItem(str);
       _ui.calcDataView->setHorizontalHeaderItem(i,item);
       QApplication::processEvents();

       i++;
       str = QString::fromUtf8("Уход %1").arg(dt.toString("dd.MM"));
       QTableWidgetItem * item2 = new QTableWidgetItem(str);
       _ui.calcDataView->setHorizontalHeaderItem(i,item2);

       dt = dt.addDays(1);
     }


При большом кол-ве столбцов (например более 300), на формирование заголовка уходит больше минуты.
Время отжирает операция вставки _ui.calcDataView->setHorizontalHeaderItem(i,item2);
Ещё есть варианты - более быстрые?
через _ui.calcDataView->setHorizontalHeaderLabels(headers); пробовал - ещё тормознее!!! :(
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 24.4.2024, 8:52