Как изменить значение одной координаты объекта геометрии окна
Как поменять одну координату “y” в geometry.
Подскажите методы как это сделать.
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
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_())
