如何在 PyQt5 中水平对齐中心图像?
How do I align centre image horizontally in PyQt5?
我正在做我的大学项目,我想将图像水平居中对齐,我尝试了很多方法但没有找到解决方案。这是我的代码:
from PyQt5.QtGui import QPalette, QLinearGradient, QColor, QBrush, QPixmap
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
import sys
from PyQt5 import QtGui
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.acceptDrops()
self.setWindowTitle("Mask Detection")
self.setWindowIcon(QtGui.QIcon('img.png'))
self.setGeometry(0, 0, 400, 300)
self.label = QLabel(self)
self.label.setAlignment(Qt.AlignCenter)
self.pixmap = QPixmap('PBL.png')
self.label.setPixmap(self.pixmap)
self.label.resize(self.pixmap.width(),
self.pixmap.height())
self.show()
App = QApplication(sys.argv)
window = Window()
p = QPalette()
gradient = QLinearGradient(0, 0, 0, 400)
gradient.setColorAt(0.0, QColor(56, 93, 166))
gradient.setColorAt(1.0, QColor(10, 123, 146))
p.setBrush(QPalette.Window, QBrush(gradient))
window.setPalette(p)
sys.exit(App.exec())
对齐是相对于元素本身的几何形状而言的,并且由于 QLabel 的几何形状与 QPixmap 具有相同的大小,因此它不会产生差异。解决方案是使 QLabel 的几何形状与 window 相同,这可以通过在 centralWidget 中设置来完成:
self.setCentralWidget(self.label)
我正在做我的大学项目,我想将图像水平居中对齐,我尝试了很多方法但没有找到解决方案。这是我的代码:
from PyQt5.QtGui import QPalette, QLinearGradient, QColor, QBrush, QPixmap
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
import sys
from PyQt5 import QtGui
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.acceptDrops()
self.setWindowTitle("Mask Detection")
self.setWindowIcon(QtGui.QIcon('img.png'))
self.setGeometry(0, 0, 400, 300)
self.label = QLabel(self)
self.label.setAlignment(Qt.AlignCenter)
self.pixmap = QPixmap('PBL.png')
self.label.setPixmap(self.pixmap)
self.label.resize(self.pixmap.width(),
self.pixmap.height())
self.show()
App = QApplication(sys.argv)
window = Window()
p = QPalette()
gradient = QLinearGradient(0, 0, 0, 400)
gradient.setColorAt(0.0, QColor(56, 93, 166))
gradient.setColorAt(1.0, QColor(10, 123, 146))
p.setBrush(QPalette.Window, QBrush(gradient))
window.setPalette(p)
sys.exit(App.exec())
对齐是相对于元素本身的几何形状而言的,并且由于 QLabel 的几何形状与 QPixmap 具有相同的大小,因此它不会产生差异。解决方案是使 QLabel 的几何形状与 window 相同,这可以通过在 centralWidget 中设置来完成:
self.setCentralWidget(self.label)