Currently, I have a nested QVBoxLayout in the first column of a QHBoxLayout, but no matter my changes to .setContentMargins
or .setSpacing
nothing changes in that first column.
JavaScript
x
47
47
1
import sys
2
import io
3
from PyQt5.QtWidgets import *
4
from PyQt5.QtWebEngineWidgets import QWebEngineView
5
6
class MyApp(QWidget):
7
def __init__(self):
8
super().__init__()
9
# Main widget/window
10
self.setWindowTitle('Test')
11
self.window_width, self.window_height = 1600, 900
12
self.setMinimumSize(self.window_width, self.window_height)
13
14
layout = QHBoxLayout()
15
self.setLayout(layout)
16
17
leftside = QWidget()
18
leftlayout = QVBoxLayout()
19
20
# Creating textbox and adding to leftside GUI
21
lineEdit = QLineEdit()
22
leftlayout.addWidget(lineEdit)
23
leftlayout.addWidget(QPushButton('Placeholder'))
24
leftside.setLayout(leftlayout)
25
26
# Adding both widgets to main layout
27
testWidget = QWidget()
28
testWidget.setStyleSheet("background-color: blue")
29
layout.addWidget(leftside, 2)
30
layout.addWidget(testWidget, 8)
31
32
if __name__ == '__main__':
33
app = QApplication(sys.argv)
34
app.setStyleSheet('''
35
QWidget {
36
font-size: 20px;
37
}
38
''')
39
40
myApp = MyApp()
41
myApp.show()
42
43
try:
44
sys.exit(app.exec_())
45
except SystemExit:
46
print('Closing Window...')
47
Advertisement
Answer
Use addStretch()
method:
JavaScript
1
21
21
1
class MyApp(QWidget):
2
def __init__(self, parent=None):
3
super().__init__(parent)
4
self.setWindowTitle("Test")
5
self.window_width, self.window_height = 1600, 900
6
self.setMinimumSize(self.window_width, self.window_height)
7
8
leftside = QWidget()
9
leftlayout = QVBoxLayout(leftside)
10
lineEdit = QLineEdit()
11
leftlayout.addWidget(lineEdit)
12
leftlayout.addWidget(QPushButton("Placeholder"))
13
leftlayout.addStretch()
14
15
testWidget = QWidget()
16
testWidget.setStyleSheet("background-color: blue")
17
18
layout = QHBoxLayout(self)
19
layout.addWidget(leftside)
20
layout.addWidget(testWidget, stretch=1)
21