提问人:user19926715 提问时间:11/16/2023 最后编辑:user19926715 更新时间:11/16/2023 访问量:37
如何删除 QBoxLayout(QBoxLayout.TopToBottom) 中 2 个小部件之间的间距
How To Remove the Spacing Between 2 widgets in a QBoxLayout(QBoxLayout.TopToBottom)
问:
我正在使用 PyQt5 作为参考,其中我有一个带有参数的参数,我正在尝试删除小部件之间的间距,如下所示:QBoxLayout
QBoxLayout.TopToBottom
我尝试使用甚至尝试制作一个自定义类,我在 init 函数中定义了它们,但没有修复。
如果你们需要其他任何东西,我可以重新格式化/添加这个问题。作为记录,标签下的那些小部件是 UPDATE:
下面是图像的代码:QBoxLayout.setSpacing(0)
QBoxLayout.setContentMargins(0,0,0,0)
QBoxLayout
QProgressbar
class LearnLeftPanelQBox(QBoxLayout):
def __init__(self):
super().__init__(QBoxLayout.TopToBottom)
self.setContentsMargins(0,0,0,0)
self.setSpacing(0)
self.learnLeftPanelTitle=QLabel("Correct:")
self.learnLeftPanelTopLayout.addWidget(self.learnLeftPanelTitle)
self.learnLeftPanelTitle.setStyleSheet("font: 20pt Comic Sans MS; color: white;")
self.learnLeftPanelTopLayout.addWidget(self.learnLeftPanelTitle)
self.learnLeftPanelProgressCorrect=QProgressBar()
self.learnLeftPanelProgressCorrect.setStyleSheet("font: 20pt Comic Sans MS; color: green;")
self.learnLeftPanelTopLayout.addWidget(self.learnLeftPanelProgressCorrect)
self.learnLeftPanelTitle=QLabel("Incorrect:")
self.learnLeftPanelTopLayout.addWidget(self.learnLeftPanelTitle)
self.learnLeftPanelTitle.setStyleSheet("font: 20pt Comic Sans MS; color: white;")
self.learnLeftPanelProgressIncorrect=QProgressBar()
self.learnLeftPanelProgressIncorrect.setStyleSheet("font: 20pt Comic Sans MS; color: red;")
self.learnLeftPanelTopLayout.addWidget(self.learnLeftPanelProgressIncorrect)
self.learnLeftPanelLayout.addWidget(self.learnLeftPanelTop)
self.learnLeftPanelSettingsButton=QPushButton("Settings")
self.learnLeftPanelSettingsButton.setStyleSheet("QPushButton{font: 20pt Comic Sans MS; color: white;border-style: outset; border-width: 2px; border-radius: 10px;border-color:white;} QPushButton::hover{background-color: white; color: black;}")
self.learnLeftPanelSettingsButton.clicked.connect(self._showLearnSettings)
self.learnLeftPanelLayout.addWidget(self.learnLeftPanelSettingsButton)
这里的选项卡格式搞砸了,但堆栈溢出不允许我修复它。这些都在一个单独的函数中找到,其余的与此无关。
我最好的可重复答案:
# Purpose: Stack layout example
from PyQt5.QtWidgets import QWidget, QLabel,QProgressBar,QApplication,QBoxLayout
class main(QWidget):
def __init__(self) -> None:
super().__init__()
self.showFullScreen()
layout=QBoxLayout(QBoxLayout.TopToBottom)
layout.setContentsMargins(0,0,0,0)
firstLabel=QLabel("First Label")
firstBar=QProgressBar()
secondLabel=QLabel("Second Label")
secondBar=QProgressBar()
layout.addWidget(firstLabel)
layout.addWidget(firstBar)
layout.addWidget(secondLabel)
layout.addWidget(secondBar)
self.setLayout(layout)
if __name__=="__main__":
import sys
app = QApplication(sys.argv)
win = main()
win.show()
sys.exit(app.exec_())
答: 暂无答案
评论