Название: Как то не так раскрашен CheckBox в QTreeView Отправлено: frostyland от Сентябрь 16, 2010, 12:48 Здравствуйте.
Нарисовал дерево с чекбоксами, вот такое (http://content.foto.mail.ru/mail/frost666/heap/i-187.jpg) Как видно, состояние Checked имеет закрашенный квадрат, а это не комильфо. Вроде все сделал правильно, в чем грабли-то? Код: //---------------------------------------------------------------------------------------- Хочется то вот как )) (http://content.foto.mail.ru/mail/frost666/heap/i-188.jpg) =================== С уважением, ВВК Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: Denjs от Сентябрь 16, 2010, 13:06 мне кажется ваша не-комильфошная-галочка заблокирована для правки? не так?
Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: frostyland от Сентябрь 16, 2010, 15:19 мне кажется ваша не-комильфошная-галочка заблокирована для правки? не так? Простите, видимо я не уяснил суть вопроса. Флаги позволяют мне редактировать итемы. Кликом итем редактируется, то есть галочка снимается и ставится обратно, если Вы это имели в виду. При снятом флаге квадрат чекбокса закрашен правильным белым, а вот при установленном - сереньким, словно в промежуточном состоянии. Как с этим бороться??? Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: crossly от Сентябрь 16, 2010, 15:26 может дело в этом
Цитировать Qt::PartiallyChecked 1 The item is partially checked. Items in hierarchical models may be partially checked if some, but not all, of their children are checked. Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: frostyland от Сентябрь 16, 2010, 15:48 может дело в этом Цитировать Qt::PartiallyChecked 1 The item is partially checked. Items in hierarchical models may be partially checked if some, but not all, of their children are checked. Стопудово нет. Там один ребенок, да и на ребенке тоже серенько... Я в затруднении ))) :o Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: crossly от Сентябрь 16, 2010, 15:53 а если поставить галку на родителе, а дочернем снять... какова будет картина.. ??
Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: CroCIV от Сентябрь 17, 2010, 10:08 а стилями точно не баловались? по идее чекбоксы дб унаследовать цветовую схему ОС по нисходящей по всем дочерним виджетом, если ее нигде до этого не переопределяли... а обычные чекбоксы на форме (не в QTreeWidget) обычные белые?
А если еще проверить состояние у чекбокса (на всякий случай) вдруг оно каким-то неведомым образом вернет таки PartilaryChecked? Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: frostyland от Сентябрь 20, 2010, 10:33 Непоняяятно )))
Тут что-то не то видимо в моем коде, но я убей не могу понять , что. Вот для примера изменил код стандартного семпла editabletreemodel, а именно во вторую колонку вставил чекбоксы. И то же самое - полувыбор (( ПРисоединяю измененный семпл, буду признателен, если укажете на решение. С уважением, ВВК Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: Авварон от Сентябрь 20, 2010, 10:40 у вас он partitionally checked (видно на маке - такая штука отображается в виде минусика, а фулли чекед - в виде галочки). У вас минусик
Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: frostyland от Сентябрь 20, 2010, 10:53 у вас он partitionally checked (видно на маке - такая штука отображается в виде минусика, а фулли чекед - в виде галочки). У вас минусик Остается открытым вопрос - кто же его болезного в это состояние ввергает? Если во флагах нету TriState, и в setData прямо возвращается true? Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: Авварон от Сентябрь 20, 2010, 10:58 Код: if(index.column()==1){ Код: if(index.column()==1){ Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: frostyland от Сентябрь 20, 2010, 11:49 Код: if(index.column()==1){ Код: if(index.column()==1){ Ай, спасибо, мил человек! Работает. Логический Qt-концепт для меня пока еще далеко не ясен, но теперь я на полшага ближе к пониманию ))) Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: Авварон от Сентябрь 20, 2010, 12:02 логический концепт прост - состояние checked в модели кодируется не true/false (0 или 1) а 0, 1, 2 - (not checked, частично checked и полностью checked). True - это 1 == частично checked.
В доке это есть, я тоже "напоролся", но разобрался быстро (минут за 5) Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: frostyland от Сентябрь 20, 2010, 12:57 ... Уважаемый Авварон, специально еще раз перешерстил доку, никак не нашел. Если не затруднит, укажите место )) В доке это есть, я тоже "напоролся", но разобрался быстро (минут за 5) Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: Авварон от Сентябрь 20, 2010, 13:01 нашел за 20 секунд http://doc.qt.nokia.com/4.6/qt.html#CheckState-enum
гугл - qabstractitemmodel, на странице ctrl+f по checked, облом, метод дата: "See also Qt::ItemDataRole", ctrl+f checked Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: frostyland от Сентябрь 20, 2010, 13:03 нашел за 20 секунд http://doc.qt.nokia.com/4.6/qt.html#CheckState-enum Аааа!!! Простите! ))) Я балбес! Колонка для балбесов: средняя 0/1/2. Причем, это выборочная слепота! Ведь я же на нее всегда опираюсь при высчитывании например суммы флагов )))))ЗЫ. Пора в отпуск Название: Re: Как то не так раскрашен CheckBox в QTreeView Отправлено: CroCIV от Сентябрь 27, 2010, 11:03 Я пользую ассистант так: смотрю компонету, смотрю в ней нужнуюю функцию, смотрю в ней набор передаваемых параметров, смотрю в них используемые типы, смотрю в них все возможные варианты... вот и получаем на выхлопе Qt::Checked Qt::PartiallyChecked Qt::Unchecked
Предлагаю делать как я, т.к. там вас ждет еще много подобных "сюрпризов" |