Re[5]: Qt или GTK+ или wxWidgets?
От: astral_marine  
Дата: 06.08.09 18:16
Оценка:
M>То есть все делать руками? Не, ну его нафиг. Если я хочу, например, отсабкласситься от банальной кнопки?
M>Ты предстаавляешь, сколько времени понадобится, чтобы это дело реализовать с нуля? Гораздо лучше — это сделать сабкласс существующего контрола и дописать требуемую функциональность

Сабклассинг имеет очень сильные ограничения и не позволяет задрочить пользователя изменениями. А реализация собственой кнопки — это примитивная операция, которая не всегда оправдывает использование тяжелых расширителей.

a>> и wxPropertyGrid<br />
<span class='lineQuote level2'>a&gt;&gt; http://hiphotos.baidu.com/tigerjgh/pic/item/2029fa506c2d255c1038c2d2.jpg</span>



M>Кстати, каким образом достигается нормальный вид эих гридов на разных платформах? то кодируется вручную программистом или все же есть щастя?


Если нет родной поддержки для контрола, то другого выхода нет, чем использовать свой эмулятор. Здесь уже ничего не поделаешь. К счастью на большинстве платформ контролы совпадают и можно использовать в подавляющем большинстве случаев только родные контролы.

M>На этом примере мы, кстати, видим убогость реализации (виндовая стрека вниз проглядывает из-за самонарисованой)

Везде есть баги. Это всего лишь пример рисования. Реальные баги это когда контролы Qt и GTK+ отличаются от родных, а таких примеров — море.


a>> Выбор цвета также имеет привычный вид для пользователя: (wxColourDialog)<br />
<span class='lineQuote level2'>a&gt;&gt; http://www.simpol.com/guiimages/wxcolorselector.jpg</span>


M>Иногда может потребоваться реализовать нестандартный диалог выбора цвета, например:


Да, в wxWidgets есть свой пример нестадартного диалога выбора цвета, его можно взять за основу.

M>Если на каждый чих надо рисовать контрол с нуля — в топку. Потому что Qt тоже позволяет создать любой контрол с нуля. Но при этом Qt позволяет расширить функциональность любого контрола.

Qt позволяет лишь заебывать пользователя нестандартными цветами, а возможность расширения контролов там крайне убогая.

T>Для каждой индивидуальной задачи свои требования.

T>Вот этот wxGrid я полагаю жутко универсальная вещь перепичканная возможностями.
T>Я врятле рискну его применять где либо, потому, что он избыточен для одних задач, слишком абстрактен для других и недостаточен для третьих, но подходит для 4-го рода задачь .

Т.е. под каждые требования новый грид?
Я считаю, что если в гриде есть возможность объединять колонки, а это не требуется в конкретной задаче, то это не значит что надо писать свой велосипед вместо существующего грида.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.