tutorial pyside2 python qt qt4 pyqt pyqt4

python - pyside2 - pyside



PyQT: Gire una QLabel para que se coloque diagonalmente en lugar de horizontalmente (2)

QLabel no hace esto. Pero puedes crear fácilmente tu propio widget que contiene un poco de texto:

class MyLabel(QtGui.QWidget): def paintEvent(self, event): painter = QtGui.QPainter(self) painter.setPen(QtCore.Qt.black) painter.translate(20, 100) painter.rotate(-90) painter.drawText(0, 0, "hellos") painter.end()

Otra opción es dibujar un QGraphicsView , entonces usted tiene la libertad de asignar widgets reales (es decir, un QLabel ) a través de cualquier transformación de coordenadas.

Estoy trabajando en una aplicación de pantalla táctil donde el espacio de la interfaz gráfica de usuario es muy ajustado. Me gustaría rotar un QLabel un poco para que sea vertical o se desplace en una diagonal un poco. ¿Alguna sugerencia? No pude encontrar nada relevante en la interfaz QLabel.

¡Muchas gracias!


Utilicé esta publicación para hacer otra solución que creo que es quizás mejor. Aquí está:

class VerticalLabel(QLabel): def __init__(self, *args): QLabel.__init__(self, *args) def paintEvent(self, event): QLabel.paintEvent(self, event) painter = QPainter (self) painter.translate(0, self.height()-1) painter.rotate(-90) self.setGeometry(self.x(), self.y(), self.height(), self.width()) QLabel.render(self, painter) def minimumSizeHint(self): size = QLabel.minimumSizeHint(self) return QSize(size.height(), size.width()) def sizeHint(self): size = QLabel.sizeHint(self) return QSize(size.height(), size.width())