crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> int в QSet<MyType>
romanick
  опции профиля:
сообщение 10.3.2011, 15:47
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 32
Регистрация: 9.5.2010
Пользователь №: 1700

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день!
Есть ли какой-нибудь простой способ преобразования битовой маски сохранённой в int в QSet<text_style>, где

enum text_style
{
    ts_vert_align_top = 0x1,
    ts_vert_alignCenter = 0x2,
    ts_vert_alignBottom = 0x4,
    ts_horiz_alignLeft = 0x8,
    ts_horiz_alignCenter = 0x10,
    ts_horiz_alignRight = 0x20,
    ts_word_wrap = 0x40,
    ts_ellipsis = 0x80,
    ts_active = 0x100,
    ts_ignore_size = 0x200,
    ts_semi_multiline = 0x400,
    ts_shadow = 0x800,
    ts_multiline = 0x1000
};


Нужно что-нибудь типа QSet::fromInt(int);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 11.3.2011, 9:48
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2901
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


вряд ли. Только в цикле

ИМХО: По моему, тут лучше бы подошёл std::bitset или структура вида

union s_text_style
{
    int body;

    struct
    {
        int ts_vert_align_top   :1;
        int ts_vert_alignCenter :1;
        int ts_vert_alignBottom :1;
        int ts_horiz_alignLeft  :1;
        int ts_horiz_alignCenter:1;
        int ts_horiz_alignRight :1;
        int ts_word_wrap        :1;
        int ts_ellipsis         :1;
        int ts_active           :1;
        int ts_ignore_size      :1;
        int ts_semi_multiline   :1;
        int ts_shadow           :1;
        int ts_multiline        :1;
        int :3;
    };

    s_text_style():body(0)
    {
    }

    s_text_style(int body):body(body)
    {
    }
};

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 4.12.2020, 8:10