2016-06-21 3 views
0

x QLabel의 축을 정확히 창 중심으로 설정할 수 있습니까? 그래서 라벨이 윈도우의 모든 시간의 중심에있을 것입니다PyQt5는 QLabel x 축을 자동으로 창 중심에 설정합니다.

from PyQt5.QtWidgets import QMainWindow,QApplication,QLabel 
from PyQt5 import QtCore 
import sys 

class cssden(QMainWindow): 
    def __init__(self): 
     super().__init__() 

     self.mwidget = QMainWindow(self) 
     self.setWindowFlags(QtCore.Qt.FramelessWindowHint) 
     self.setFixedSize(700,400) 

     self.label = QLabel(self) 
     self.label.setText("Center of the window") 
     self.label.setStyleSheet("color:green;" 
             "font: bold 20pt 'Arial'") 
     self.label.setGeometry(150,200,300,100) 
     self.show() 

app = QApplication(sys.argv) 
app.setStyleSheet("QMainWindow{background-color: rgb(30,30,30);border: 2px solid rgb(20,20,20)}") 
ex = cssden() 
sys.exit(app.exec_()) 

self.label.setGeometry에 무엇을 할이 예제를 가지고? setCenter()과 같은 방법이 있습니까?

답변

0

세로 레이아웃을 사용하십시오. 라벨은 사용 가능한 공간을 채우기 위해 확장되며 텍스트는 기본적으로 중앙에서 정렬됩니다.

from PyQt5.QtWidgets import QWidget, QVBoxLayout 

class cssden(QMainWindow): 
    def __init__(self): 
     super().__init__() 

     self.setWindowFlags(QtCore.Qt.FramelessWindowHint) 
     self.setFixedSize(700,400) 

     self.label = QLabel(self) 
     self.label.setText("Center of the window") 
     self.label.setStyleSheet("color:green;" 
             "font: bold 20pt 'Arial'") 

     self.label.setAlignment(QtCore.Qt.AlignCenter)   

     widget = QWidget(self) 
     layout = QVBoxLayout(widget) 
     layout.addWidget(self.label) 

     self.setCentralWidget(widget) 

     self.show() 
+0

여전히 창의 중심이 아닙니다. 왼쪽에 있어요. – GLHF

+0

@GLHF. 그냥 텍스트 정렬을 바꿉니다 (코드를 업데이트했습니다). – ekhumoro

+0

이제 왼쪽 상단 구석에 있습니다. – GLHF

관련 문제