Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT как перемещать окно за widget / 8 сообщений из 8, страница 1 из 1
10.01.2015, 18:36
    #38851348
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT как перемещать окно за widget
окно без системных кнопок закрытия и сворачивания и без, незнаю,забыл как называется эта строчка где заголовок окна.вместо нее создаю свою панельку(widget), который будет выполнять ее функции.вот необходимо сделать перемещение окна
...
Рейтинг: 0 / 0
11.01.2015, 01:03
    #38851460
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT как перемещать окно за widget
Картежник,

ну это самому надо делать, руками.
...
Рейтинг: 0 / 0
11.01.2015, 08:05
    #38851498
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT как перемещать окно за widget
MasterZivКартежник,

ну это самому надо делать, руками.
аха сделал))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
void Qmy_Widget::mouseMoveEvent(QMouseEvent *event){
    if(event->buttons()&&Qt::LeftButton){
        int x,y;
        x=event->pos().x()-mpos.x()+this->parentWidget()->geometry().left()-this->geometry().left();
        y=event->pos().y()-mpos.y()+this->parentWidget()->geometry().top()-this->geometry().top();

        this->parentWidget()->move(x,y);
    }

}

void Qmy_Widget::mousePressEvent(QMouseEvent *event){
    mpos = event->pos();
}
...
Рейтинг: 0 / 0
11.01.2015, 08:07
    #38851499
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT как перемещать окно за widget
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
class Qmy_Widget:public QWidget{
//    Q_OBJECT
protected:
    void mousePressEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
public:
    QPoint mpos;
};
...
Рейтинг: 0 / 0
11.01.2015, 17:16
    #38851717
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT как перемещать окно за widget
этого недостаточно, попробуй резко сместить мышку за пределы своего заголовка ...

нужно вызывать
QWidget::grabMouse () - когда начинаете перемещение
QWidget::releaseMouse () - когда завершаете перемещение

но это тоже вроде как не совсем правильно, что-то ещё ловить надо
...
Рейтинг: 0 / 0
12.01.2015, 07:56
    #38851888
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT как перемещать окно за widget
kealon(Ruslan)этого недостаточно, попробуй резко сместить мышку за пределы своего заголовка ...

нужно вызывать
QWidget::grabMouse () - когда начинаете перемещение
QWidget::releaseMouse () - когда завершаете перемещение

но это тоже вроде как не совсем правильно, что-то ещё ловить надо
че то ниче не происходит, все нормально работает когда резко мышью дергаю.окно смещается вслед за курсорм
...
Рейтинг: 0 / 0
12.01.2015, 08:28
    #38851892
Картежник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT как перемещать окно за widget
kealon(Ruslan)этого недостаточно, попробуй резко сместить мышку за пределы своего заголовка ...


ах блин точно, мышка оторвалась, что там надо прописать чтоб она не отрывалась?
...
Рейтинг: 0 / 0
14.01.2015, 11:46
    #38853929
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QT как перемещать окно за widget
Картежник, вот видишь ...


QWidget::grabMouse () смотри, это что бы события приходили к окну когда мышка вне его зоны
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT как перемещать окно за widget / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]