Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Header в QTableView как реализовать такое
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
ЙаМайскЫйПчОЛ
Здравствуйте товарищи.
Есть такая модель основанная на QStandardItem'ах, хотя что греха таить это QStandardItemModel.
|-0-Z
| |-X-Z
| |-X-Z
| `-X-Z
|-0-Z
| |-X-Z
| |-X-Z
| `-X-Z
...
Есть два QTableView один должен отображать в табличном виде элементы 0 и Y, а второй при клике на 0
делает setRootIndex(0) тем самым отображая в табличном виде элементы X и Z.
Вопрос в том как мне можно выставить разные HorizontalHeader для этих двух QTableView.
Мне известен только способ выставления через модель, но в таком случае, название колонки X совпадает с названием колонки O
А мне необходимо, что бы разные типы элементов, находились в колонках с разными названиями.


Z - поле хранящее описание 0 и X я его оформляю отдельным Itemом может это и не правильно...
П.С. Каждый Элемент O,Z,X = QStandardItem.

Я запутался.
Заранее благодарю всех, кто откликнется
igor_bogomolov
Цитата(ЙаМайскЫйПчОЛ @ 22.6.2010, 21:15) *
Вопрос в том как мне можно выставить разные HorizontalHeader для этих двух QTableView.
Мне известен только способ выставления через модель, но в таком случае, название колонки X совпадает с названием колонки O

void QTableView::setHorizontalHeader ( QHeaderView * header )

Примерно так
Раскрывающийся текст
    QStandardItemModel *model = new QStandardItemModel(5,5, this);
    for (int i=0;i!=5;++i) {
        for (int j=0;j!=5;++j) {
            model->setItem(i,j, new QStandardItem(tr("item %1").arg(j+i*5)));
        }
    }

    ui->tableView_1->setModel(model);
    ui->tableView_2->setModel(model);

    QHeaderView *header_1 = new QHeaderView(Qt::Horizontal, ui->tableView_1);
    QHeaderView *header_2 = new QHeaderView(Qt::Horizontal, ui->tableView_2);

    QStandardItemModel *header_model_1 = new QStandardItemModel(0,0, header_1);
    header_model_1->setHorizontalHeaderLabels(QStringList()<<"A"<<"B"<<"C"<<"D"<<"E");

    QStandardItemModel *header_model_2 = new QStandardItemModel(0,0, header_2);
    header_model_2->setHorizontalHeaderLabels(QStringList()<<"F"<<"G"<<"H"<<"I"<<"J");

    header_1->setModel(header_model_1);
    header_2->setModel(header_model_2);

    ui->tableView_1->setHorizontalHeader(header_1);
    ui->tableView_2->setHorizontalHeader(header_2);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.