Соотношение координат QGraphics(View/Scene/Item), Думал тут будет проще..не-фи-га. |
Здравствуйте, гость ( Вход | Регистрация )
Соотношение координат QGraphics(View/Scene/Item), Думал тут будет проще..не-фи-га. |
Andrewshkovskii |
13.10.2009, 18:26
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Создал себе тестовый примерчик для своих жалких потуг..
Сладер да Вьюха для сцены. при изменении значения слайдера вот что делаю : Раскрывающийся текст void MainWindow::out(int i) { qDebug() << i; QGraphicsLineItem * item = this->scene->addLine(0,0,0,10,*(new QPen())); item->setPos(-((ui->graphicsView->geometry().width()/2)-5),-((ui->graphicsView->geometry().height()/2)-20)); qDebug() << ui->graphicsView->geometry(); qDebug() << item->pos(); } Пробовал читать про http://doc.crossplatform.ru/qt/4.5.0/graphicsview.html - не понял, всеравно. Видимо мозгов не хватаит.. Так в чем проблема : 1. Координаты, при которых создается айтем - это что за координаты?к чему они относятся?Я так понимаю к Сцене(айтем на ней создается в координатах , где центр в 0.0), которая отображается во вью, где координаты 0,0 в левом верхнем углу..так? Так вот, почему при изменении позиции айтема таким образом , первый раз он отображается как задумывалось,а при следующим - вне видимой части вьюхи..? |
|
|
Elfinit |
13.10.2009, 20:58
Сообщение
#2
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Попробуй вместо geometry() использоваться rect(). У меня проблем при таком обращении не возникает.
|
|
|
Andrewshkovskii |
14.10.2009, 0:01
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
|
|
|
Andrewshkovskii |
14.10.2009, 22:17
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Никакой подсказки никто дать не может?просто замучался уже с этими координатами..вот ещё подробнее :
Есть некоторое не понимание взаимосвязи систем координат item,model,view. Вот такой вот код:
Вроде как должен начать добавлять item в левый верхний угол, но почему-то , происходит вот так : Что я делаю не так? (на рисунке , вьюха - это где порог близости..) |
|
|
Andrewshkovskii |
15.10.2009, 0:01
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Цитата QRect(0,0 607x277) //rect вьюхи до отображения текста 0 0//ширина и высота модели до отображения QRect(0,0 607x277) //после 716 258//после.. почему такое происходит?Просто сейчас, у меня рисуется в принципе нормально, но появляется скролл на вьюхе.. |
|
|
wiz29 |
7.7.2010, 12:33
Сообщение
#6
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
Используй QGraphicsView::setAlignment(Qt::AlignLeft | Qt::AlignTop) и все путем будет.
|
|
|
Текстовая версия | Сейчас: 1.12.2024, 23:01 |