it-swarm.com.de

PyQt5: Eine Beschriftung zentrieren

Das sollte wirklich einfach sein, aber ich kann einfach keine Antwort finden. Ich habe diesen PyQt4-Code ausprobiert:

label.setAlignment(Qt.AlignCenter)

Aber das gibt mir kein Glück.

Vielen Dank

9

Ich denke, das Problem kann sein, dass das Etikett zentriert ist, aber es füllt nicht den Raum, den Sie glauben. Sie können dies überprüfen, indem Sie die Hintergrundfarbe des Etiketts ändern. Das folgende Beispiel funktioniert für mich unter Windows 7:

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class Window(QWidget):
    def __init__(self, *args, **kwargs):
        QWidget.__init__(self, *args, **kwargs)

        self.label = QLabel("Test", self)
        self.label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.label.setAlignment(Qt.AlignCenter)
        self.label.setStyleSheet("QLabel {background-color: red;}")

        self.button = QPushButton("Test", self)

        self.layout = QGridLayout()
        self.layout.addWidget(self.label, 0, 0)
        self.layout.addWidget(self.button, 0, 1)

        self.setLayout(self.layout)
        self.show()

app = QApplication(sys.argv)
win = Window()
sys.exit(app.exec_())
10
Fenikso

Ich hatte das gleiche Problem.

Versuchen Sie es mit:

Qt.Qt.AlignCenter.
3
91cobra

Der Wert von AlignCenter wurde unter PyQt5.QtCore.Qt.AlignCenter definiert, Der andere Ausrichtungswert wurde auch unter QtCore.Qt definiert. QtCore.Qt Das Modul enthält auch Kernwerte wie Tastaturwert STRG, UMSCHALTTASTE, ALT usw.

2
Caching

Ich habe eine Problemumgehung beim HTML-Übersetzen erhalten!

self.smallPWDisp.setText(_translate('Window', '<html><head/><body><p align=\'center\'>%s is your new password!</p></body></html>' % smallPassword))
0