QRect availableRect = qApp->desktop()->availableGeometry(parentWidget());
QRect requiredRect = QRect(-23, -54
, 4005
, 1243
); // Your required rect will be moved and resized to available geometry
// add width, because vertical scrollbar visible
//if (requieredSize.height() > availableRect.height())
//requiredRect.setWidth(requieredSize.width() + tableView->verticalScrollBar()->width());
if (requiredRect.left() < availableRect.left())
requiredRect.moveRight(availableRect.left() + (requiredRect.width() - 1));
if (requiredRect.top() < availableRect.top())
requiredRect.moveBottom(availableRect.top() + (requiredRect.height() - 1));
if (requiredRect.right() > availableRect.right())
requiredRect.moveLeft(availableRect.right() - (requiredRect.width() - 1));
if (requiredRect.bottom() > availableRect.bottom())
requiredRect.moveTop(availableRect.bottom() - (requiredRect.height() - 1));