guys.I имеет QLabel с pixmap - изображение PNG (как правило, футбольное поле), и я хочу нарисовать на игровой площадке некоторые прямоугольники (представляющие некоторые роботы), которые я использую для рисования на самом деле на его контейнере. QLabel. Но когда я использую живописца для рисования REC, RECT показывал, но изображение просто превратилось в пустую. Я не знаю, почему это не удалось, и может ли вы оказать мне услугу и дать мне некоторые намеки на это?Почему pixmap (изображение футбольного поля) исчезает, когда я пытаюсь что-то нарисовать на его QLabel?
class FieldLabel(QtGui.QLabel):
positionData = {"1":{"x":13,"y":20},"2":{"x":28,"y":19},"3":{"x":17,"y":21}}
def __init__(self, image_path):
QtGui.QLabel.__init__(self)
self.field = QtGui.QPixmap("field.png")
self.setPixmap(self.field.scaled(self.size(),
QtCore.Qt.KeepAspectRatio))
self.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
self.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
def paintEvent(self,e):
draw = QtGui.QPainter()
draw.begin(self)
draw.setBrush(QtCore.Qt.NoBrush)
draw.setPen(QtCore.Qt.blue)
draw.drawRect(0,0,10,10)
draw.end()
Спасибо и @ Аварис Это очень helpful.I не признает набор пиксельных также является paintEvent и будет иметь некоторый эффект переопределения. – Derek
И я также работаю над некоторой системой координат на этом ярлыке и pixmap. Но я был удивлен, обнаружив, что, когда я получил и распечатал некоторые значения высоты и ширины (используя предопределенные методы, такие как '.height()' and'. width() ') из Label и Pixmap, значения Pixmap даже больше, чем Label's.So. Я думаю, что два класса используют математическую единицу измерения математически. Так как я могу получить один и тот же размер фона, чтобы я мог рассчитать некоторые координаты для моих картин? – Derek
@Derek: У них нет одинаковой единицы (пикселей). Но вы помещаете pixmap масштабируемо в размер 'QLabel'. Если вы не делаете никакого масштабирования или вручную не устанавливаете размер метки, 'QLabel' будет настраиваться на размер pixmap. – Avaris