2016-06-21 14 views
0

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

関連する問題