Имеется виджет на котором расположен компонент - кнопка. Нужно получить координаты верхней левой точки кнопки относительно QWidget. Как я понял это осуществляется методом pos().
Вот код, и тут все работает:
class Window(QWidget): def __init__(self): super().__init__() self.window1() def window1 (self): self.setWindowTitle('Record') self.resize(339, 226) #Создаем кнопку btn = QPushButton('Нажать', self) #Размещаем кнопку на виджете btn.move(200,200) #Получаем QPoint(200,200) print(btn.pos()) if __name__ == '__main__': import sys app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
class Window(QWidget): def __init__(self): super().__init__() self.window1() def window1 (self): self.setWindowTitle('Record') self.resize(339, 226) #Создаем кнопку btn = QPushButton('Нажать', self) #Вкладываем ее в контейнер hbox = QHBoxLayout(self) hbox.addWidget(btn) self.setLayout(hbox) #Получаем QPoint(0,0) print(btn.pos()) if __name__ == '__main__': import sys app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
#Получаем QPoint(0,0) print(btn.mapToParent(btn.pos()))