Как получить позиции x, y виджетов PyQt5, а также расстояние до верхней левой позиции главного экрана [дубликат]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить позиции x, y виджетов PyQt5, а также расстояние до верхней левой позиции главного экрана [дубликат]

Сообщение Anonymous »

Я пытаюсь получить область выбора изображения, например, обрезая изображение. Итак, я разработал интерфейс с помощью PyQt Designer. Я поместил QLabel в большое пространство на изображении, а затем добавил растровое изображение с изображением в коде Python. Это работает хорошо, я могу нарисовать прямоугольник, линию и т. д. Но когда я использую события мыши, я понял; Положение мыши относительно главного экрана программы относительно верхнего левого угла. Но мне нужно положение мыши относительно моего QLabel.
Итак, как мне справиться с этой ситуацией. И это лучший способ нарисовать прямоугольник на изображении и получить область обрезки.
По моему мнению; мне нужна позиция QLabel в верхнем левом углу, и мне нужно событие, которое перехватывает обработчик изменения размера для обновления позиции. Таким образом, я могу вычислить область обрезки с помощью позиции вычитания мыши и позиции QLabel.
Изображение

class Window(QMainWindow):
def __init__(self, parent = None):
super(Window, self).__init__(parent)
uic.loadUi(path, self)

# some codes here

self.settignsImageLabel = self.findChild(QLabel, 'settignsImageLabel')
self.setSelectablePixcelArea()

def setSelectablePixcelArea(self):
# Get the size of the settings image label
original_pixmap = QPixmap("C:\\Users\\Leno\\Desktop\\green.png")

self.pix = QPixmap(original_pixmap.size())
self.pix.fill(Qt.transparent)

# Create a painter to draw on the new pixmap
self.painter = QPainter(self.pix)

# Draw the original image
self.painter.drawPixmap(0, 0, original_pixmap)

# Set the combined pixmap on the label
self.settignsImageLabel.setPixmap(self.pix)
self.settignsImageLabel.setScaledContents(True) # Optional: Scale the pixmap to fit the label


Подробнее здесь: https://stackoverflow.com/questions/790 ... top-left-p
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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