суббота, 8 февраля 2014 г.

На полях Qt4: недостатки от слова «недо»

Начал баловаться с qtbindings. Это не то же самое, что QtRuby, а его более актуальный форк. Во всяком случае, qtbindings доступны для Ruby 2.1, а не застряли на 1.9... Впрочем, суть и принципы работы с библиотекой от этого не меняются. В контексте данного поста существенно, пожалуй, только то, что я имею дело с чистым Qt4 без расширений KDE, доступ к которым предоставляется пакетом korundum, как раз и существующим только для Ruby 1.9.

Для начала хочу сказать, что в целом фреймворк Qt4 мне весьма понравился — есть в нем какое-то чувство стиля и продуманность. Однако кое-чего не хватает по мелочи (всё нижесказанное относится именно к Qt как таковому, а не его связке с Ruby):

  • Замечательная штука QDockWidget, будучи «табифицированной», почему-то не поддерживает иконки табов, впрочем, как и в свободноплавающем состоянии иконки окна. Прямого доступа к QTabBar (который значки рисовать умеет) тоже не дается.

  • Панели инструментов QToolBar, расположенные вертикально, не умеют вертикального текста на кнопках. Опять же, в QTabBar и QTabWidget вертикально-ориентированные табы прекрасно отрисовываются...

  • Удобнейший, на первый взгляд, класс QFileIconProvider, оказывается, определяет тип файла только по имени и атрибутам. Таким образом, любые скрипты без расширения выглядят как нечто бинарное... Кстати, еще недавно этим страдал и, например, мой любимый текстовый редактор Kate, но он-то исправился.

    Приходится городить что-то вроде такого (по-хорошему, тут нужны еще проверки на ненайденность):

И еще парочка — даже не замечаний уже, а скорее «хотелок»:

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

  • Еще не помешало бы в QPlainTextEdit поддержка «из коробки» не только подсветки синтаксиса, но и более простых фич, таких как номера строк. Кстати, что интересно — пример «Code Editor», переложенный на Ruby, вполне себе работает со всей ручной отрисовкой, правда, я опасаюсь, что на серьезной нагрузке начнет подтормаживать...

Вот такие у меня первые впечатления от Qt.

Комментариев нет:

Отправить комментарий