selectwindow.cpp
void SelectWindow::mouseMoveEvent(QMouseEvent *event)
{
if(event->buttons() & Qt::LeftButton)
{
QRect mainWindow(GlobalVariables::location,QSize(825,385));
QRect thisWindow(this->pos(),this->size());
if(mainWindow.contains(QCursor::pos()))
{
emit activeMainWindow();
}
if(thisWindow.contains(QCursor::pos()))
{
activateWindow();
//raise();
}
}
}
void SelectWindow::mouseReleaseEvent(QMouseEvent *event)
{
this->setCursor(Qt::ArrowCursor);
emit dragMouseRealsed();
}
mainwindow.cpp
connect(st,SIGNAL(dragMouseRealsed()),this,SLOT(leftWindowDrag()));//信号槽
void MainWindow::leftWindowDrag()
{
QPoint event=mapFromGlobal(QCursor::pos());
if(buttonNo_0->rect().contains(event.x()-185,event.y()-90))
{
dropButtonNo=0;
}
if(buttonNo_10->rect().contains(event.x()-215,event.y()-90))
{
dropButtonNo=1;
}
if(buttonNo_2->rect().contains(event.x()-245,event.y()-90))
{
dropButtonNo=2;
}
if(buttonNo_3->rect().contains(event.x()-275,event.y()-90))
{
dropButtonNo=3;
}
}