Я отключил окно по умолчанию из своего приложения GUI и попытался повторно реализовать такие вещи, как максимизация при перетаскивании окна вверх и перетаскивание его влево и вправо, чтобы получить половину экрана.
Последнее дает мне некоторые проблемы, ширина приложения не половина экрана, но больше, чем (например, на 100 пикселей больше). Высота хорошая.
void MainWindow::mouseReleaseEvent(QMouseEvent *event) {
QPoint curPos = event->globalPos();
if (this->ui->labelTitle->underMouse()) //we grabbed the top bar
{
if (curPos.x()<2) //x below 2px, left side of screen
{
this->setGeometry(QRect(
QPoint(0,0), //top-left
QSize(
QApplication::desktop()->availableGeometry().right()/2,
QApplication::desktop()->availableGeometry().bottom())));
}
QWidget::mouseReleaseEvent(event);
}
Мой экран res 1600x900 .right()
составляет 1599, а .right()/2
- 799, но фактическая ширина приложения становится по какой-то причине 900. Где я терпеть неудачу?
Проблема заключалась в том, что политика минимального размера окна была установлена на 900 пикселей.