Russian Qt Forum
Ноябрь 24, 2024, 07:10
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Model-View (MV)
>
TableView прижать данные в колонке вправо
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: TableView прижать данные в колонке вправо (Прочитано 3305 раз)
raven1976
Гость
TableView прижать данные в колонке вправо
«
:
Май 29, 2010, 19:40 »
Qt 4.6
(подключаюсь к базе SQLite)
...
myModel = new QSqlTableModel(this);
...
ui->myTableView->setModel(myModel);
...
все работает нормально ...
но не нравится мне что в myTableView во всех колонках данные прижаты ВЛЕВО
хочу, чтобы в колонке с индексом 1 данные были прижаты ВПРАВО
наследую класс
(mainwindow.h) ------------------------------------------
class my_QStyledItemDelegate : public QStyledItemDelegate {
public:
my_QStyledItemDelegate(QObject *parent = 0);
protected:
void initStyleOption ( QStyleOptionViewItem * option, const QModelIndex & ) const;
};
(mainwindow.cpp) -----------------------------------------
my_QStyledItemDelegate::my_QStyledItemDelegate(QObject *parent):
QStyledItemDelegate(parent)
{
}
//переопределяю виртуальную ф-цию
void my_QStyledItemDelegate::initStyleOption ( QStyleOptionViewItem * option, const QModelIndex & ) const
{
option->displayAlignment = Qt::AlignRight;
}
// и теперь указываю, что переопределенный мной делегат должен действовать
// только на колонку 1
ui->myTableView->setItemDelegateForColumn(1, my_delegate);
так вот, вообще-то он действует, но не так как я хотел, вся колонка ПУСТАЯ ...
подскажите пожалуйста, что я не так делаю?
Записан
Kolobok
Гость
Re: TableView прижать данные в колонке вправо
«
Ответ #1 :
Май 29, 2010, 20:03 »
QAbstractItemModel::data ( const QModelIndex & index, int role = Qt::DisplayRole )
Qt::TextAlignmentRole
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: TableView прижать данные в колонке вправо
«
Ответ #2 :
Май 29, 2010, 21:12 »
>>вся колонка ПУСТАЯ
попробуй сначала вызвать метод базового класса (QStyledItemDelegate::initStyleOption), а затем свой код
Записан
Юра.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...