crossplatform.ru

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


  Ответ в отображение в QTableView
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 25.4.2010, 21:00
  Тему разделил: Как отобразить масив [n][m] в QTableView?
vanvo Дата 3.4.2009, 12:29
 
Цитата(Litkevich Yuriy @ 2.4.2009, 22:13) *
Цитата(vanvo @ 3.4.2009, 1:35) *
как можно в header'е писать в несколько строк?
а стандартный прием:
str = "first line\nsecond line";

не помогает?

Хм... Вот точно помню, что пробовал - не получалось: \n отображалось как текст. А сейчас работает :) Спасибо :)
Litkevich Yuriy Дата 2.4.2009, 22:13
 
Цитата(vanvo @ 3.4.2009, 1:35) *
как можно в header'е писать в несколько строк?
а стандартный прием:
str = "first line\nsecond line";

не помогает?
vanvo Дата 2.4.2009, 21:35
 
Цитата(ViGOur @ 24.3.2009, 21:00) *
Цитата(vanvo @ 22.3.2009, 13:49) *
Можно представлять записи в QTableView не строками, а столбцами?
Не думаю, что это можно. Просто стандартное представление идет строками, а не столбцами. Таблица заполняющаяся по одному столбцу, а не по строке, думаю будет выглядеть забавно.

А для чего тебе это нужно?

Ну допустим, у нас таблица со множеством полей. При выборке информации мы точно знаем, что получим в результате одну запись. Как ее можно удобно отобразить? Если использовать стандартный QTableView, то таблица будет слишком длинная. Я думаю, что отображение, при котором в первом столбце будут названия полей, а во втором - данные, довольно приемлимо. Хотя интересно послушать ваше мнение :)
И еще вопросец назрел: как можно в header'е писать в несколько строк?
Litkevich Yuriy Дата 24.3.2009, 21:27
 
Цитата(ViGOur @ 25.3.2009, 0:00) *
Просто Header это заголовок, а то, что с боку, называется как-то по другому.
нет, всё также.
vanvo, всё работает ищи багу у себя

#include <QApplication>
#include <QTextCodec>
#include <QStandardItemModel>
#include <QTableView>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    
    // Установим кодировку для функции перевода tr()
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

    
    // Создадим табличную модель 2 столца, 4 строки
    QStandardItemModel model(4, 2);
    
    // Создадим табличное представление
    // и установим для него модель
    QTableView tableView;
    tableView.setModel(&model);
    
    // Заполним модель данными
    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) + (column)));//
        }
    }

    // заголовок
    model.setHeaderData(0, Qt::Horizontal, QObject::tr("region"), Qt::DisplayRole);
    model.setHeaderData(0, Qt::Vertical, QObject::tr("YYY"), Qt::DisplayRole);

    // Отобразим представление
    tableView.show();
    return app.exec();
}
ViGOur Дата 24.3.2009, 21:00
 
Цитата(vanvo @ 22.3.2009, 13:49) *
Можно представлять записи в QTableView не строками, а столбцами?
Не думаю, что это можно. Просто стандартное представление идет строками, а не столбцами. Таблица заполняющаяся по одному столбцу, а не по строке, думаю будет выглядеть забавно.

А для чего тебе это нужно?

Цитата(vanvo @ 22.3.2009, 13:49) *
Почему изменить горизонтальные заголовки с помощью
Просто Header это заголовок, а то, что с боку, называется как-то по другому.
vanvo Дата 22.3.2009, 13:49
  Возникло пара вопросов:
1. Можно представлять записи в QTableView не строками, а столбцами?
2. Почему изменить горизонтальные заголовки с помощью
model.setHeaderData(0, Qt::Horizontal, tr("region"), Qt::DisplayRole);

удается, а именить вертикальные заголовки (где по имолчанию счетчик записей) с помощью этой же функции не получается
model.setHeaderData(0, Qt::Vertical, tr("region"), Qt::DisplayRole);
?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 0:20