crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как реализовать перемещение мышкой Widget'а в пределах его родительского окна?
Valter
  опции профиля:
сообщение 16.1.2013, 10:16
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 25.12.2012
Пользователь №: 3655

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как реализовать перемещение мышкой Widget'а в пределах его родительского окна (например QMainWindow, QFrame, QDialog)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Artem
  опции профиля:
сообщение 29.1.2013, 14:08
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 27.1.2013
Пользователь №: 3688

Спасибо сказали: 0 раз(а)




Репутация:   0  


технологию drag-and-drop юзал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
nikita
  опции профиля:
сообщение 29.1.2013, 14:41
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 34
Регистрация: 19.10.2012
Пользователь №: 3570

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата(Valter @ 16.1.2013, 10:16) *
Как реализовать перемещение мышкой Widget'а в пределах его родительского окна (например QMainWindow, QFrame, QDialog)?


Попробуй что-нибудь на основе QMDISubWindow, должно получиться!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 27.2.2013, 22:39
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


Я делаю так:
void MyWidget::mouseReleaseEvent(QMouseEvent *e)
{
    if(geometry().right() >= parentWidget()->width()) move(parentWidget()->width()-width(), y());
    else if(x() <= 0) move(0, y());

    if(geometry().bottom() >= parentWidget()->height()) move(x(), parentWidget()->height()-height());
    else if(y() <= 0) move(x(),0);
}
Может пригодится.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 16:07