FantasyOr
15.9.2010, 15:32
Доброго времени суток.
небольшая загвоздочка. Есть QTableMotel и ее модель доступа к данным по средствам QModelIndex. при попытке достать выравнивание текста ячейки с помощью "index.data(Qt::TextAlignmentRole).toInt()" возвращается смешанное выравнивание и по горизонтали и по вертикали, задача разделить на AlignmentFlag для разных направлений.
Думал как-нибудь считывать по битам и в зависимости от того на каком бите у нас появляется 1 ставить те или иные значения флагов.
может Вы подскажете лучший способ?
Спасибо
igor_bogomolov
15.9.2010, 15:45
Можно делать так
Qt::Alignment alignFlags (index.data(Qt::TextAlignmentRole).toInt());
if (alignFlags.testFlag(Qt::AlignLeft)) {
// ...
}
FantasyOr
15.9.2010, 15:53
Спасибо, тоже не элегантный вариант, писать придется кучу строк.
но что поделать.
Спасибо.
AntonH851
15.9.2010, 15:56
А можно использовать Qt::AlignHorizontal_Mask и Qt::AlignVertical_Mask
int horizontal_align = align & Qt::AlignHorizontal_Mask;
int vertical_align = align & Qt::AlignVertical_Mask;
FantasyOr
20.9.2010, 15:49
Мммм вот это красиво.
Спасибо.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.