Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Ширина скрытой колонки в QTableView


Автор: becks 28.1.2013, 12:04
Добрый день, коллеги! Как узнать ширину скрытого столбца? Хочу сохранять информацию о столбцах в файл (скрыт\показывается столбец и его ширина), для скрытых столбцов ширина всегда равна нулю. Для нескрытых сохраняет правильно.

Код

for (int i=0;i<view->horizontalHeader()->count();++i)
{
    QString name = view->model()->headerData(i, Qt::Horizontal).toString();
    int width =  view->horizontalHeader()->sectionSize(i);
    bool isHidden = view->horizontalHeader()->isSectionHidden(i);
}



Скрываю\показываю столбцы так:

Код

m_edge_view->showColumn(select_col) 
m_edge_view->hideColumn(select_col);

Автор: borisbn 28.1.2013, 12:49
Делай все visible перед получением ширины, а затем восстанавливай (если нужно)
Код
for (int i=0;i<view->horizontalHeader()->count();++i)
{
    QString name = view->model()->headerData(i, Qt::Horizontal).toString();
    bool isHidden = view->horizontalHeader()->isSectionHidden(i);
    m_edge_view->showColumn( i );
    int width =  view->horizontalHeader()->sectionSize(i);
    if ( isHidden )
    {
        m_edge_view->hideColumn( i );
    }
}

Автор: becks 28.1.2013, 13:40
Цитата(borisbn @  28.1.2013,  12:49 Найти цитируемый пост)
Делай все visible перед получением ширины, а затем восстанавливай (если нужно)


Большое спасибо. Вариант они, конечно, придумали не самый красивый, но что поделаешь, видимо изящнее ничего нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)