Как избавить от белой полоски между виджетами установленными в QVBoxLayout
Пытаюсь разобраться в контейнерах. Как я понимаю, контейнеры создают между добавленными в них виджетами некоторую рамку.
Как от нее избавиться?
from PyQt5.Qt import *
import sys
class Window(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self.setMinimumSize(1000,500)
self.top_bar = QFrame()
self.content = QFrame()
self.vbox = QVBoxLayout()
self.vbox.setContentsMargins(0,0,0,0)
self.top_bar.setStyleSheet("background-color: rgb(45,45,45);")
self.content.setStyleSheet("background-color: rgb(35,35,35);")
self.top_bar.setMaximumHeight(40)
self.vbox.addWidget(self.top_bar)
self.vbox.addWidget(self.content)
self.setLayout(self.vbox)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
void QBoxLayout::setSpacing(int spacing)
Устанавливает для свойства spacing значение.
from PyQt5.Qt import *
import sys
class Window(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self.setMinimumSize(1000,500)
self.top_bar = QFrame()
self.content = QFrame()
self.vbox = QVBoxLayout()
self.vbox.setContentsMargins(0,0,0,0)
self.vbox.setSpacing(0) # +++
self.top_bar.setStyleSheet("background-color: rgb(45,45,45);")
self.content.setStyleSheet("background-color: rgb(35,35,135);")
self.top_bar.setMaximumHeight(40)
self.vbox.addWidget(self.top_bar)
self.vbox.addWidget(self.content)
self.setLayout(self.vbox)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
