Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
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(); } Пробовал читать про Link - не понял, всеравно. Видимо мозгов не хватаит.. Так в чем проблема : 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
|
Цитата(Elfinit @ 13.10.2009, 21:58) Link Попробуй вместо geometry() использоваться rect(). У меня проблем при таком обращении не возникает. Да оно тоже самое возвращает (в плане width,height) Сообщение отредактировал Andrewshkovskii - 14.10.2009, 0:04 |
|
|
|
|
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) и все путем будет.
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 23.12.2025, 18:46 |