我使用 PyQt5 和它的样式系统来为我的应用程序创建一个现代外观的 GUI,但我似乎无法做到这一点。
所以我有一个所有工作的服装标题栏。它有 3 个部分;一个菜单栏、一个标签和另一个菜单栏,用作关闭、最小化和最大化的标题栏按钮。我需要此标题栏为浅灰色,但如下图所示,元素之间存在空白。
现在是什么:
应该是什么:

当您运行下面的示例时,您可以看到标签之间有一些空白区域。即使标签在没有样式的框内,样式也是在小部件上设置的。
#### PyQt imports....
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QMenuBar, QApplication,
QLabel, QVBoxLayout)
#### Python imports....
import sys
#### Class for sampleWindow....
class sampleWindow(QWidget):
def __init__(self):
super().__init__()
#### Some window settings....
self.setWindowTitle('Sample Program')
self.setGeometry(400, 300, 1000, 500)
######## THE SAME PROBLEM BUT THIS TIME NOT IN A QMENUBAR ########
#### Creating the widget and it's layout....
parentLayout = QHBoxLayout()
parentWidget = QWidget()
#### Creating the elements....
sampleLabelLeft = QLabel('left')
sampleLabelCenter = QLabel('center')
sampleLabelRight = QLabel('right')
#### Setting alignment for the elements....
sampleLabelLeft.setAlignment(Qt.AlignLeft)
sampleLabelCenter.setAlignment(Qt.AlignCenter)
sampleLabelRight.setAlignment(Qt.AlignRight)
#### Adding the elements to the parentLayout....
parentLayout.addWidget(sampleLabelLeft)
parentLayout.addWidget(sampleLabelCenter)
parentLayout.addWidget(sampleLabelRight)
#### Setting parentLayout as layout for parentWidget....
parentWidget.setLayout(parentLayout)
#### Set styling for elements....
self.setStyleSheet('QWidget{background:blue;} QLabel{background:red;}')
因此,在此之后,我将 QWidget 的背景颜色设置为浅灰色,并且忽略了拉伸。
有谁知道这个的解决方法?
手掌心
至尊宝的传说
相关分类