Russian Qt Forum
Ноябрь 23, 2024, 11:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
CheckBox в QHeaderView
Страниц:
1
[
2
]
3
4
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: CheckBox в QHeaderView (Прочитано 39826 раз)
break
Гипер активный житель
Offline
Сообщений: 846
Re: CheckBox в QHeaderView
«
Ответ #15 :
Ноябрь 20, 2009, 13:41 »
Цитировать
А при том, что при разрастании функционала никаких экранов не хватит, что-бы "заочевиднить" функцию.
Правильно учитесь писать программы.... моники не резиновые....
1) Учись правильно писать программы......
2) Как было объявлено выше другим человеком чекбокс - устоявшийся контрол которого хотят многие клиенты...
3) Я считаю что это действительно удобный контрол который не захламляет экран а уменьшает его захламление - ведь пункт меню. с надписью "Выделить все ячейки в колонке" или "Выделить колонку" - занимает в любом случае больше места - это менее интуитивно, и его надо еще и найти щелкнув правой кнопкой мыши туда куда надо! (на заголовок - а именно на горизонтальную его часть)
С другой стороны считаю что альтернативой может служить одинарный или двойной клик по заголовку столбца который надо выделить - это стандартное поведение для большинства электронных таблиц, которым можно успокоить даже клиентов которые хотят чекбоксы...
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: CheckBox в QHeaderView
«
Ответ #16 :
Ноябрь 20, 2009, 15:45 »
Цитата: Hordi от Ноябрь 20, 2009, 12:30
Цитата: panAlexey от Ноябрь 20, 2009, 12:09
Цитата: break от Ноябрь 20, 2009, 01:27
Цитировать
плохое решение, я обычно для таких целей пользуюсь патерном посетитель:
Написал один раз обход модели, передал алгоритм или выбрал алгоритм с пом. того-же выпадающего меню и опля, везде чекбоксы расставлены или еще чего. Меньше кода писать приходится.
Причем тут паттерны? Автора интересовал вопрос построения интерффейса.....
А при том, что при разрастании функционала никаких экранов не хватит, что-бы "заочевиднить" функцию.
Правильно учитесь писать программы.... моники не резиновые....
Чекбокс в колонке хидера - это абсолютно устоявшийся GUI-контрол - масса заказчиков его хотят.
Покажи пару
распространенных
софтин где есть этот контрол.
Я его только раз видел, и то был прототип на дельфях, а эти хлопцы знатные извращенцы (ничего личного)....
ПС. в конце концов никто не запрещает сходить с ума, но это тупиковый путь - скрины не резиновые.
Там где множественные наборы данных всегда есть место и не одному алгоритму:
- Оптичить все
- Снять оптичивание;
- Инвертировать оптичивание;
- оптичить по условию....;
Для хейдеровв таблиц нормальными операциями считаю: поменять сортировку по клику и размер увеличить уменьшить, остальное извраты.
«
Последнее редактирование: Ноябрь 20, 2009, 16:44 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: CheckBox в QHeaderView
«
Ответ #17 :
Ноябрь 20, 2009, 15:55 »
Цитата: Hordi от Ноябрь 20, 2009, 12:30
...но если клиент хочет чекбокс - склонить его в сторону меню НЕ ПОЛУЧИТСЯ!
+100 за понимание психологии заказчика. Если его требования разумны (хоть как-то, не полный бред) - надо идти ему навстречу, а дебаты и препирательства ничего хорошего не приносят
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: CheckBox в QHeaderView
«
Ответ #18 :
Ноябрь 20, 2009, 15:57 »
Цитата: break от Ноябрь 20, 2009, 13:41
1) Учись правильно писать программы......
уже 16 лет этим занимаюсь, представление имею огромное..
Цитата: break от Ноябрь 20, 2009, 13:41
2) Как было объявлено выше другим человеком чекбокс - устоявшийся контрол которого хотят многие клиенты...
я тебе много могу порасказать, что хотят клиенты и во что это потом выливается...
заказчики теперь вперед советуются, что-бы своими хотелками дров не наломать...
Цитата: break от Ноябрь 20, 2009, 13:41
3) Я считаю что это действительно удобный контрол который не захламляет экран а уменьшает его захламление.
удобный спору нет, но он
1. малофункциональный
2. Неоднозначный. (однозначный только для тех кто знает какую он функцию несет).
3. Нерасширяемый (в следствие этого тупиковый).
Цитата: break от Ноябрь 20, 2009, 13:41
3) Я считаю что это действительно удобный контрол который не захламляет экран а уменьшает его захламление - ведь пункт меню. с надписью "Выделить все ячейки в колонке" или "Выделить колонку" - занимает в любом случае больше места - это менее интуитивно, и его надо еще и найти щелкнув правой кнопкой мыши туда куда надо!
Дело не в экономии места, а в концепции построения интерфейса.
Вот на хабре выматерили новый интерфейс 1Сv8.2. за ненативность и прочее, хотите идти по стопам авось разберутся, ну и в добрый путь.
о понимать надо чего ты деолаешь и куда это заведет.
Сложно что-ли повесить рядом панель пиктограмм с действиями?
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: CheckBox в QHeaderView
«
Ответ #19 :
Ноябрь 20, 2009, 16:02 »
Цитата: Igors от Ноябрь 20, 2009, 15:55
Цитата: Hordi от Ноябрь 20, 2009, 12:30
...но если клиент хочет чекбокс - склонить его в сторону меню НЕ ПОЛУЧИТСЯ!
+100 за понимание психологии заказчика. Если его требования разумны (хоть как-то, не полный бред) - надо идти ему навстречу, а дебаты и препирательства ничего хорошего не приносят
и че?
-1000 за слепое удовлетворение заказчиков без оглядки на будущее.
у меня совещательный принцып работы с заказчиком:
он высказывает проблему, я ему выдаю несколько вариантов исполнения, характеризую варианты,
привожу плюсы и минусы, а потом заказчик выбирает путь решения.
особое внимание придаю прозрачности, понятности и целостности системы.
некоторые сначала принимали за истину только свои хотелки, потом сообразили, что лучше проконсультироваться.
«
Последнее редактирование: Ноябрь 20, 2009, 16:04 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: CheckBox в QHeaderView
«
Ответ #20 :
Ноябрь 20, 2009, 16:21 »
Цитата: panAlexey от Ноябрь 20, 2009, 16:02
-1000 за слепое удовлетворение заказчиков без оглядки на будущее.
Мне лично этот чекбокс тоже не по душе, непонятно что он делает, первая мысль - колонка не значима? Но это всего лишь деталь UI, ничего "принципиального" здесь нет. Да, есть места/ситуации где нужно упираться рогом и говорить "нет" как бы клиент ни хотел, но чекбокс в хедере в их число не входит
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: CheckBox в QHeaderView
«
Ответ #21 :
Ноябрь 20, 2009, 16:22 »
нафлудили-то сколько и ничего по делу.
Дак как поместить "галку" в заголовок столбца?
Записан
Юра.
spbtellurian
Гость
Re: CheckBox в QHeaderView
«
Ответ #22 :
Ноябрь 20, 2009, 16:31 »
Господа, может уже хватит
На пустом месте устраиваете конфликт.
Когда очевидных способов решение задачи нет любой программер начинает упираться рогом и приводить кучу доказательств в пользу тог что этого делать нельзя - лень матушка - проще найти оправдание почему это не делать чем сделать
Помио описанных выше способов есть ещё два - более близких к тому что требуется.
1. Убрать заголовок вообще и вместо заголовка выводить строку с галочками. (например именно так реализована данная задача при просмторе писем в том же mail.ru)
2. Делать некую имитацию чекбокса через вывод картинок
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: CheckBox в QHeaderView
«
Ответ #23 :
Ноябрь 20, 2009, 16:37 »
Цитата: Igors от Ноябрь 20, 2009, 16:21
Цитата: panAlexey от Ноябрь 20, 2009, 16:02
-1000 за слепое удовлетворение заказчиков без оглядки на будущее.
Мне лично этот чекбокс тоже не по душе, непонятно что он делает,
первая мысль - колонка не значима
?
дык я о неоднозначности в том числе и говорил.
а "не по душе" он тебе просто потому что ты чуствуешь неправильность применения, а словами высказать что именно неправильно не получается.
Цитата: spbtellurian от Ноябрь 20, 2009, 16:31
Господа, может уже хватит
На пустом месте устраиваете конфликт.
это не конфликт, конфликт, это когда спор по личным мотивам. а тут никто не корыстен и не уязвлен (вроде).
просто технические мотивы и принцыпы обсуждаются..
пс. согласен, от темы отклонились, но проблема многоаспектная:
например:
http://habrahabr.ru/company/turbomilk/blog/74806/
«
Последнее редактирование: Ноябрь 20, 2009, 16:40 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: CheckBox в QHeaderView
«
Ответ #24 :
Ноябрь 20, 2009, 16:45 »
Цитата: lit-uriy от Ноябрь 20, 2009, 16:22
нафлудили-то сколько и ничего по делу.Дак как поместить "галку" в заголовок столбца?
дык как нестандартное поведение делают?
наследуются и рисуют че надо.
в чем вопрос-то?
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
Hordi
Гость
Re: CheckBox в QHeaderView
«
Ответ #25 :
Ноябрь 20, 2009, 16:54 »
Цитата: panAlexey от Ноябрь 20, 2009, 16:45
Цитата: lit-uriy от Ноябрь 20, 2009, 16:22
нафлудили-то сколько и ничего по делу.Дак как поместить "галку" в заголовок столбца?
дык как нестандартное поведение делают?
наследуются и рисуют че надо.
в чем вопрос-то?
Действительно... А как программа делается? Да просто, берется и пишется...
Мне например непонятно почему этот чекбокс Qt не реализует, тем более что всякие Role теоретически этот элемент должна добавлять, а в реале ничего не происходит... А заказчики... ну они деньги платят, и если на все твои утверждения отвечают - ХОЧУ, то надо делать. Например, для того же QHeaderView захотели по клику по колонке чтобы менялась сортировка ВПЕРЕД-НАЗАД-НЕТ_СОРТИРОВКИ... По мне так вполне логично, но Qt это не позволяет - приходится извращаться...
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: CheckBox в QHeaderView
«
Ответ #26 :
Ноябрь 21, 2009, 02:01 »
По теме: - если совсем никак не получается, то можно сделать 2 изображения иконки checkbox-са соответственно с галочкой и без и выводить их в нужной колонке заголовка - плюс соответствующим образом обрабатывать клики по этому заголовку, соответственно проходя по реальным данным!
Оффтоп для panAlexey:
Цитировать
удобный спору нет, но он
1. малофункциональный
2. Неоднозначный. (однозначный только для тех кто знает какую он функцию несет).
3. Нерасширяемый (в следствие этого тупиковый).
1) Если вы согласились что контрол удобный то философия на тему насколько удобен и расширяем бессмыслена, зачем расширять функциональность чекбокса, который и так делает то что должен?
2) На счет неоднозначности - вранье - на скрине ниже я приложил пример использования данного контрола и сомневаюсь что хоть один человек не поймет что он делает, а иконки на тулбаре по вашему сразу всем понятны а не только тем кто уже знает какие они скрывают действия?
3) Малофункциональный - вообще тарабарщина, вы ведь не сетуете что колеса на вашей машине, из-за малой ф-сти не могут посуду мыть? А у обычной кнопки большая функциональность? а у гиперссылки? Я вам даже так скажу при условии правильной организации интерфейса из этих простых контролов получается очень гибкая и многофункциональная система - например этот самый контрол позволяет в известной почтовой системе (на скрине) одновременно удалять письма в спам, переносить и т.д. да вообщем все групповые действия одним кликом, без всяких контекстных меню!
А вообще то что вы 16 лет пишете программы для меня не является авторитетным заявлением, покажите плоды своего труда - может это система с абсолютно правильным построением интерфейса? Это вам в ответ на то что вы тыкаете мол - "учитесь писать программы" --- "сам учись", я видел плоды труда программистов работавших и более длительное время и их программы для пользователей были просто гемморой и было это по причине монополии (заказчик и исполнитель были определены политически - откатами), стоит заявлять о своих подвигах подкрепляя это реальными успехами а не количеством потраченного времени!
Записан
Sergey B.
Программист
Offline
Сообщений: 544
Re: CheckBox в QHeaderView
«
Ответ #27 :
Ноябрь 21, 2009, 09:56 »
О... шрифты...
Вот за что люблю OS X - так это за красивые шрифты
(люблю изящество)
Записан
uriel
Гость
Re: CheckBox в QHeaderView
«
Ответ #28 :
Ноябрь 21, 2009, 10:20 »
Хм, так а QHeaderView же виджет. Что мешает сделать его родителем у нужного чекбокса и просто позиционировать руками?
Я что-то подобное делал, только оно было не в самом заголовке, а над ним, но разные виджеты и для каждого столбца (для фильтрации).
Записан
Hordi
Гость
Re: CheckBox в QHeaderView
«
Ответ #29 :
Ноябрь 21, 2009, 11:20 »
Цитата: uriel от Ноябрь 21, 2009, 10:20
Хм, так а QHeaderView же виджет. Что мешает сделать его родителем у нужного чекбокса и просто позиционировать руками?
Я что-то подобное делал, только оно было не в самом заголовке, а над ним, но разные виджеты и для каждого столбца (для фильтрации).
Это можно, но имеем проблемы:
1.При переносе, ресайзе колонки нужно искать этот чекбокс и переносить (т.е. связывать чекбоксы с logicalIndex).
2.При удалении колонки удалять чекбокс
3.Что-то делать с текстом колонки, чтобы чекбокс не наезжал на него.
Это все называется - прикручивать костыли! Работать будет, но некрасиво!
Берем стандартный контрол - QTreeWidget - есть чекбоксы родителей и чайлдов. Класс сам отслеживает и выставляет в tristate-checked-unchecked родительские чекбоксы, все просто и красиво...
Записан
Страниц:
1
[
2
]
3
4
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...