Хочу сделать, чтобы при приближении одного окна к другому, оно "примагничивалось" к нему и в дальнейшем, чтобы перемещение основного окна влекло за собой перемещение примагниченного, а при попытке перемещения побочного окна, оно "отмагничивалось".
Пока что моя идея сводится к тому, что нужно найти сигнал перемещения каждого из окон, и в обработке сигнала основного окна менять координаты побочного, а в обработке сигнала побочного при попытке "оторвать" его, удерживать его на месте, пока его не отведут достаточно далеко.
Сложность в том, что я не нашел сигналов перемещения окна (только сигнал перемещения виджета внутри родительского объекта, что не подходит) и "удержание" побочного окна, при попытке его убрать, кажется, будет выглядеть дерганным.
Пример того, как я это вижу:
void GraphicWindow::holdWindow()
{
int x1,x2,y1,y2;
mw_ptr->geometry().getCoords(&x1,&y1,&x2,&y2);
if(abs(this->geometry().x() - x1 -x2)+abs(this->geometry().y() - y1) > 10)
{
sticky_flag = false;
}
else
{
if(!sticky_flag)
{
sticky_flag = true;
}
this->setGeometry(x2+1,y1,this->geometry().width(),this->geometry().height());
}
}
void GraphicWindow::moveWindow()
{
if(sticky_flag)
{
int x1,x2,y1,y2;
mw_ptr->geometry().getCoords(&x1,&y1,&x2,&y2);
this->setGeometry(x2+1,y1,this->geometry().width(),this->geometry().height());
}
}
Это 2 слота, первый подключается к сигналу движения окна, которое приклеивается, второй подключается к сигналу движения окна, к которому приклеиваемся, окна независимы друг от друга, но у в приклеиваемом окне есть указатель на приклеиваемое окно.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Говорят, что динамическая память в программе выделяется в куче, а локальные переменные - в стекеЕсли с реализаций стека всё вроде бы понятно,...
Использую студию 2017 и 2 варианта ремоут машин (WSL и VirtualBox(Debian95))
Судя по этому ответу, записи char** и char*[] в параметрах функции означают один и тот же типЗачем так сделано и в каких ситуациях они будут означать...