Здравствуйте, гость ( Вход | Регистрация )
ufna | Дата 25.8.2010, 13:39 |
Писалось это в далеком (для меня) 2007ом, поэтому решение совершенно не оптимальное. Пока времени оформить в полноценный класс нет, в текущей реализации пару параметров нужно заменить ручками так, как может Ваше приложение. В моем приложении !!SCENE_SIZE - это размер того прямоугольника, который всегда центрирован в окне, т.е. сцены "за ним" для вьюхи нет. Это можно заменить размером сцены, тогда будет именно для всей сцены. !!ZOOM в коде - думаю совершенно ясно - это насколько сцена вся наша отмасштабирована. Сейчас отметки начинаются так же, как на скрине выше - от центра по горизонтали и от LT угла по вертикали. В принципе, код прозрачен, сложного ничего нет - кому нужно, немного допилите под свои нужды. Время будет, переделаю в полноценный по управлению класс для использования (т.к. для нормальной линейки нужно и нормальное управление положением точек, DPI, учет положения виджетов, "умное" определение толщины скроллов и т.п.). Ах, да - !!DOTS_PER_SM - это количество точек в сантиметре при зуме в 1.0, т.е. настройка dpi через сантиметры. Может еще что забыл вырезать, в общем если какие вопросы - отвечу. У меня этот класс еще и за создание и упарвление направляющими отвечает, я его подрезал чтобы не мешало. a_control_line.h
a_control_line.cpp
|
|
FantasyOr | Дата 25.8.2010, 12:42 |
если как здесь устраивает, могу код сбросить. это чисто виджет с двумя состояниями - вертикальный или горизонтальный. Далее - привязка к какой точки сцены (где у нас 0 будет), и обработка скроллбара и мастшабирования. устраивает еще как! =) красивое приложение, мне бы так... ' ufna, shairovav( враг кошек )gmail.com |
|
Litkevich Yuriy | Дата 23.8.2010, 14:44 |
если как здесь устраивает, могу код сбросить. да, интересная линейка |
|
ufna | Дата 23.8.2010, 11:08 |
если как здесь устраивает, могу код сбросить. это чисто виджет с двумя состояниями - вертикальный или горизонтальный. Далее - привязка к какой точки сцены (где у нас 0 будет), и обработка скроллбара и мастшабирования. |
|
FantasyOr | Дата 23.8.2010, 10:24 |
единственная линейка, которая упоминается вместе с QGraphicsView, это линейка прокрутки. может и куча, да вот никто не делится =) | |
kwisp | Дата 23.8.2010, 10:15 |
FantasyOr, по-моему способов много. я бы поискал готовое. их этих линеек уже куча 100%. |
|
FantasyOr | Дата 23.8.2010, 10:04 |
Здравствуйте. Подскажите пожалуйста, как лучше сделать линейку для рисовалки? примерно как в Paint.NET или в Word. пока возникает только идея ставить еще 2 QGraphicsView либо QFrame слева и сверху и на них рисовать. Спасибо. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 21:57 |