Como alinear texto a derecha?

Olá, pessoal. Por enquanto só o título do tópico em espanhol, quem sabe eu crie mais coragem.

Bom, estou tentando alinhar o marcador de pontos do meu jogo nessas guias vermelhas. Consegui uma solução muito improvisada, mas ainda tenho problemas de alinhamento (quando a pontuação aumenta, o número se desloca um pouco).

Pergunto, qual a maneira adequada de alinhar texto à direita?

Olá @AlexPHorta, infelizmente não há uma maneira fácil de alinhar os textos à direita. No entanto, eu montei um “patch” para que você possa forçar o alinhamento para a direita.

Eu construí uma função chamada “text_patch” que desenha os textos alinhados à direita e “conecta-os” ao objeto Text desta maneira texto.imagen.__class__.texto = texto_patch

Aqui está o exemplo completo:

# coding: utf-8
import pilasengine
from PyQt4 import QtGui
from PyQt4 import QtCore

pilas = pilasengine.iniciar()

def texto_patch(self, cadena, x=0, y=0, magnitud=10, fuente=None,
          color=colores.negro, ancho=0, vertical=False):
    self.canvas.begin(self._imagen)
    color = colores.generar_color_desde_texto(color)
    r, g, b, _ = color.obtener_componentes()
    self.canvas.setPen(QtGui.QColor(r, g, b))
    dx = x
    dy = y

    if fuente:
        nombre_de_fuente = self.cargar_fuente(fuente)
    else:
        nombre_de_fuente = self.canvas.font().family()

    if not ancho:
        flags = QtCore.Qt.AlignRight | QtCore.Qt.AlignTop
        ancho = self._imagen.width()
    else:
        flags = QtCore.Qt.AlignRight | QtCore.Qt.TextWordWrap | QtCore.Qt.AlignTop

    font = QtGui.QFont(nombre_de_fuente, magnitud)
    self.canvas.setFont(font)

    if vertical:
        lineas = [t for t in cadena]
    else:
        lineas = cadena.split('\n')

    for line in lineas:
        r = QtCore.QRect(dx, dy, ancho, 2000)
        rect = self.canvas.drawText(r, flags, line)
        dy += rect.height()

    self.canvas.end()


# Aplicando patch a un texto
texto = pilas.actores.Texto("0", ancho=200)
texto.imagen.__class__.texto = texto_patch
texto.texto = "0"


def cuando_cambia(valor):
    texto.texto = str(int(valor * 3333))

deslizador = pilas.interfaz.Deslizador(y=-100)
deslizador.conectar(cuando_cambia)

pilas.ejecutar()

Abraço!

Olá, @hugoruscitti! Obrigado pela ajuda, estive um tempo longe do jogo, então não havia visto sua resposta. Vou aplicar esse patch durante o fim de semana e testar. Ótimo!