четверг, 25 марта 2010 г.

DirectMapTableModel

От DirectMap легко породить модель для представления данных.
DirectMapTableModel - представляет простую таблицу из 2-х колонок.
В первой колонке - ключи мапа, во второй - значения.
Это нечто вроде QStringListModel, только с двумя колонками вместо одной.

понедельник, 1 марта 2010 г.

Qt баг

Под виндой с любой Qt, вплоть до последней, есть такой косяк с тулбаром.
Нужно: QMainWindow с тулбаром. Кнопка на тулбаре должна что-нибудь делать, желательно показывать некий диалог. Диалог должен закрываться по Esc.
Делаем: Быстро быстро клацаем по кнопке тулбара и тут же жмем Esc, закрывая тем самым диалог. На определенной итерации мы увидем, что кнопку тулбара залипла. Так, как будто у нее стоит статус Checkable.
Это легко проверить с Assistant'ом. Вызываем печать через тулбар и отменяем ее по Esc.
Итог: Весьма неприятно. На Qt и так полно нападок от нативщиков, и тут этот очевидный баг.

Rotated Label

Компонента "Вращаемая надпись" - QLabel, который может быть повернут на любой угол. Стандартными Qt выми средствами этого не сделать, поэтому нужно изобретать велосипед.

Сначала мой велосипед. Здесь используется отрисовка текста QPainter'ом.
И другой велосипед. От shapoclak.
Здесь товарищ подошел с более интересной стороны
В качестве девайса отрисовки виджета используется QPixmap. А сам QPixmap после любых манипуляций уже отрисовывается в любом другом месте. Подход хорош тем, что весь функционал QLabel остается.