Qt 4: переместить окно без строки заголовка
У меня есть Qt::Popup
помеченное окно (в котором нет строки заголовка, кнопок закрытия и т. д.), которое необходимо переместить, перетаскивая \ щелкая область без заголовка....
На Win32 решение может быть WM_NCLBUTTONDOWN, но мое требование кроссплатформенное.
2 ответа
Решение
Попробуйте это, чтобы переместить окно вручную:
void PopupWindow::mousePressEvent(QMouseEvent *event){
mpos = event->pos();
}
void PopupWindow::mouseMoveEvent(QMouseEvent *event){
if (event->buttons() & Qt::LeftButton) {
QPoint diff = event->pos() - mpos;
QPoint newpos = this->pos() + diff;
this->move(newpos);
}
}
И объявить QPoint mpos
где-то.
if (event->buttons() && Qt::LeftButton) {
это условие верно для каждой кнопки мыши
может быть, вы помните об этом
if (event->buttons() & Qt::LeftButton) {