PyQt5设置一个QLabel x轴自动居中window
PyQt5 set a QLabel x axis automatically center of the window
如何将 QLabel 的 x
轴设置为 window 的确切中心?我有这个例子
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
上做什么才能使标签始终位于 window 的中心?有没有像setCenter()
这样的方法?
使用垂直布局。标签将展开以填充可用的 space,文本将默认居中对齐:
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()
如何将 QLabel 的 x
轴设置为 window 的确切中心?我有这个例子
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
上做什么才能使标签始终位于 window 的中心?有没有像setCenter()
这样的方法?
使用垂直布局。标签将展开以填充可用的 space,文本将默认居中对齐:
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()