Russian Qt Forum
Май 29, 2024, 14:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перемещение фотографий  (Прочитано 2381 раз)
adequate
Гость
« : Сентябрь 10, 2007, 07:57 »

не могу понять в чем дело..
есть QGraphicsView в нем есть фотка.. изменяю ее размер и перемещаю при загрузке из файла.. надо чтобы при нажатии и перемещении мыши на QGraphicsView фотка перемещалась..
перехватываю ивент но фотка тупо пляшет на один пиксел.. стабильно влево-вправо-вниз-вверх.. и остается на месте..
Код:
void PhotoDst::mousePressEvent(QMouseEvent *e)
{
        if (e->buttons() ==  Qt::LeftButton)
                *p = QPoint(e->pos());
}

void PhotoDst::mouseMoveEvent(QMouseEvent *e)
{
        // move
        //char *tmp = new char[32];
        if (e->buttons() ==  Qt::LeftButton)
        {
                _p->setX(p->x() + e->x());
                _p->setY(p->y() + e->y());
                //*p = QPoint(e->pos());
                //sprintf(tmp, "%dx%d", _p->x(), _p->y());
                //QMessageBox::warning(this, "pos", tmp);
                mouseMove(_p);
        }
}

void MainWindow::slotTransDst(QPoint *p)
{
        char tmp[32];
        sprintf(tmp, "%dx%d", p->x(), p->y());
        QMessageBox::information(this, "pos", tmp);
        gvDst->translate(p->x(), p->y());
}
///////////////////////////
        connect (gvDst, SIGNAL(mouseMove(QPoint*)),
                SLOT(slotTransDst(QPoint*)));
///////////////////////////

вот еще что.. как заставить QGraphicsView вписывать фотку в рамки (чтоб отображалось без скроллбаров)?
« Последнее редактирование: Сентябрь 10, 2007, 14:04 от adequate » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.039 секунд. Запросов: 17.