Как изменить значение одной координаты объекта геометрии окна

Как поменять одну координату “y” в geometry.
Подскажите методы как это сделать.


Ответы (1 шт):

Автор решения: S. Nick

Window Geometry

QWidget предоставляет несколько функций, которые имеют дело с геометрией виджета.
Некоторые из этих функций работают с чистой клиентской областью (т.е. с окном, исключая оконную рамку),
другие включают оконную рамку.

  • Включая рамку окна: x(), y(), frameGeometry(), pos() и move().
  • Исключая оконную рамку: geometry(), width(), height(), rect() и size().

введите сюда описание изображения

from PyQt5.Qt import * 
        

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        
        self.resize(450, 200)                                              # !!!
        self.show()                                                        # !!!

        x = self.x()                                                       # !!!
        y = self.y() + 200                                                 # !!!
# ------------------>^^^^^

        QTimer.singleShot(3000, lambda: self.move(x, y))                   # !!!
        
        layout = QHBoxLayout(self) 
        label = QLabel("Label 1")
        label.setStyleSheet('background-color: #B52B65;')
        layout.addWidget(label, 0)
        label1 = QLabel("Label 2")
        label1.setStyleSheet('background-color: #ED6663;')
        layout.addWidget(label1, 0 )


if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    w = MainWindow()
    sys.exit(app.exec_())
→ Ссылка