powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / QT как перемещать окно за widget
8 сообщений из 8, страница 1 из 1
QT как перемещать окно за widget
    #38851348
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
окно без системных кнопок закрытия и сворачивания и без, незнаю,забыл как называется эта строчка где заголовок окна.вместо нее создаю свою панельку(widget), который будет выполнять ее функции.вот необходимо сделать перемещение окна
...
Рейтинг: 0 / 0
QT как перемещать окно за widget
    #38851460
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картежник,

ну это самому надо делать, руками.
...
Рейтинг: 0 / 0
QT как перемещать окно за widget
    #38851498
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
QT как перемещать окно за widget
    #38851499
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
QT как перемещать окно за widget
    #38851717
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
этого недостаточно, попробуй резко сместить мышку за пределы своего заголовка ...

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

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

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

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


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


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


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