Положение метки pyqt5 в главном окнеPython

Программы на Python
Anonymous
Положение метки pyqt5 в главном окне

Сообщение Anonymous »

Это мой макет из Qt Designer:
Изображение

И это результат этого
[img]https://i.stack.imgur.com /4s9Ux.png[/img]

Я добавляю изображение в эту область метки следующим образом:

Код: Выделить всё

class MainWindow(QMainWindow):
def __init__(self,parent = None):
QMainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)

self.boxes = []  # Klonlanmış box'ların listesi

self.img = QPixmap("box.png").scaled(100, 150)  # Orjinal box resmi
print( self.img.width(),self.img.height())
self.ui.image.setPixmap(self.img)

self.dragging = False
self.offset = None
Я хочу получить позицию щелчка по этой метке, но она дает мне другую позицию, чем event.pos()

Код: Выделить всё

  def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
print(event.pos())
print(self.ui.image.mapTo(self, self.ui.image.pos()))
print(self.ui.image.pos())
Это другое
Мне нужно сопоставить положение щелчка мышью и положение метки. Мне нужно определить, нажата ли эта коробка или нет. Как это возможно в этом макете?
Я попробовал следующие предложения:
print(self.ui.image.rect(). содержит(self.ui.image.mapFromGlobal(event.globalPos()))) Если я нажму где-нибудь в boxLayoutWidget, это даст мне True, но я хочу получить True, только если я нажму метку self.ui.image< /p>
Также я сталкиваюсь с совсем другими вещами.:
Если я напечатаю эту позицию в функциях инициализации MainWindow, print(self.ui.image.mapToGlobal(QPoint(0, 0))) Внутри этой функции я получаю другой результат:
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
print(self.ui.image.mapToGlobal(QPoint(0, 0)))

Подробнее здесь: https://stackoverflow.com/questions/782 ... mainwindow

Вернуться в «Python»