Skip to content

Commit 2f8d12f

Browse files
committed
PySide6 Layouts
1 parent 14cff3c commit 2f8d12f

File tree

8 files changed

+242
-0
lines changed

8 files changed

+242
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import sys
2+
3+
from PySide6.QtWidgets import QApplication, QMainWindow
4+
5+
6+
class MainWindow(QMainWindow):
7+
def __init__(self):
8+
super().__init__()
9+
self.setWindowTitle("My App")
10+
11+
12+
app = QApplication(sys.argv)
13+
window = MainWindow()
14+
window.show()
15+
app.exec()
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import sys
2+
3+
from PySide6.QtWidgets import QApplication, QGridLayout, QMainWindow, QWidget
4+
5+
from layout_colorwidget import Color
6+
7+
8+
class MainWindow(QMainWindow):
9+
def __init__(self):
10+
super().__init__()
11+
self.setWindowTitle("My App")
12+
13+
layout = QGridLayout()
14+
15+
layout.addWidget(Color("red"), 0, 3)
16+
layout.addWidget(Color("green"), 1, 1)
17+
layout.addWidget(Color("orange"), 2, 2)
18+
layout.addWidget(Color("blue"), 3, 0)
19+
20+
widget = QWidget()
21+
widget.setLayout(layout)
22+
self.setCentralWidget(widget)
23+
24+
25+
app = QApplication(sys.argv)
26+
window = MainWindow()
27+
window.show()
28+
app.exec()
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import sys
2+
3+
from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
4+
5+
from layout_colorwidget import Color
6+
7+
8+
class MainWindow(QMainWindow):
9+
def __init__(self):
10+
super().__init__()
11+
self.setWindowTitle("My App")
12+
13+
layout = QVBoxLayout()
14+
15+
layout.addWidget(Color("red"))
16+
layout.addWidget(Color("green"))
17+
layout.addWidget(Color("orange"))
18+
layout.addWidget(Color("blue"))
19+
20+
widget = QWidget()
21+
widget.setLayout(layout)
22+
self.setCentralWidget(widget)
23+
24+
25+
app = QApplication(sys.argv)
26+
window = MainWindow()
27+
window.show()
28+
app.exec()
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from PySide6.QtGui import QColor, QPalette
2+
from PySide6.QtWidgets import QWidget
3+
4+
5+
class Color(QWidget):
6+
def __init__(self, color):
7+
super().__init__()
8+
self.setAutoFillBackground(True)
9+
10+
palette = self.palette()
11+
palette.setColor(QPalette.ColorRole.Window, QColor(color))
12+
self.setPalette(palette)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import sys
2+
3+
from PySide6.QtWidgets import (
4+
QApplication,
5+
QHBoxLayout,
6+
QMainWindow,
7+
QVBoxLayout,
8+
QWidget,
9+
)
10+
11+
from layout_colorwidget import Color
12+
13+
14+
class MainWindow(QMainWindow):
15+
def __init__(self):
16+
super().__init__()
17+
self.setWindowTitle("My App")
18+
19+
layout1 = QHBoxLayout()
20+
layout2 = QVBoxLayout()
21+
layout3 = QVBoxLayout()
22+
23+
layout2.addWidget(Color("red"))
24+
layout2.addWidget(Color("yellow"))
25+
layout2.addWidget(Color("purple"))
26+
27+
layout1.addLayout(layout2)
28+
29+
layout1.addWidget(Color("green"))
30+
31+
layout3.addWidget(Color("red"))
32+
layout3.addWidget(Color("purple"))
33+
34+
layout1.addLayout(layout3)
35+
36+
widget = QWidget()
37+
widget.setLayout(layout1)
38+
self.setCentralWidget(widget)
39+
40+
41+
app = QApplication(sys.argv)
42+
window = MainWindow()
43+
window.show()
44+
app.exec()
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import sys
2+
3+
from PySide6.QtWidgets import (
4+
QApplication,
5+
QHBoxLayout,
6+
QMainWindow,
7+
QPushButton,
8+
QStackedLayout,
9+
QVBoxLayout,
10+
QWidget,
11+
)
12+
13+
from layout_colorwidget import Color
14+
15+
16+
class MainWindow(QMainWindow):
17+
def __init__(self):
18+
super().__init__()
19+
self.setWindowTitle("My App")
20+
21+
pagelayout = QVBoxLayout()
22+
button_layout = QHBoxLayout()
23+
self.stacklayout = QStackedLayout()
24+
25+
pagelayout.addLayout(button_layout)
26+
pagelayout.addLayout(self.stacklayout)
27+
28+
btn = QPushButton("red")
29+
btn.pressed.connect(self.activate_tab_1)
30+
button_layout.addWidget(btn)
31+
self.stacklayout.addWidget(Color("red"))
32+
33+
btn = QPushButton("green")
34+
btn.pressed.connect(self.activate_tab_2)
35+
button_layout.addWidget(btn)
36+
self.stacklayout.addWidget(Color("green"))
37+
38+
btn = QPushButton("yellow")
39+
btn.pressed.connect(self.activate_tab_3)
40+
button_layout.addWidget(btn)
41+
self.stacklayout.addWidget(Color("yellow"))
42+
43+
widget = QWidget()
44+
widget.setLayout(pagelayout)
45+
self.setCentralWidget(widget)
46+
47+
def activate_tab_1(self):
48+
self.stacklayout.setCurrentIndex(0)
49+
50+
def activate_tab_2(self):
51+
self.stacklayout.setCurrentIndex(1)
52+
53+
def activate_tab_3(self):
54+
self.stacklayout.setCurrentIndex(2)
55+
56+
57+
app = QApplication(sys.argv)
58+
window = MainWindow()
59+
window.show()
60+
app.exec()

pyside6/tutorials/layouts/tabs.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import sys
2+
3+
from PySide6.QtWidgets import QApplication, QMainWindow, QTabWidget
4+
5+
from layout_colorwidget import Color
6+
7+
8+
class MainWindow(QMainWindow):
9+
def __init__(self):
10+
super().__init__()
11+
self.setWindowTitle("My App")
12+
13+
tabs = QTabWidget()
14+
tabs.setTabPosition(QTabWidget.TabPosition.West)
15+
tabs.setMovable(True)
16+
17+
for color in ["red", "green", "blue", "yellow"]:
18+
tabs.addTab(Color(color), color)
19+
20+
self.setCentralWidget(tabs)
21+
22+
23+
app = QApplication(sys.argv)
24+
window = MainWindow()
25+
window.show()
26+
app.exec()
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import sys
2+
3+
from PySide6.QtWidgets import QApplication, QHBoxLayout, QMainWindow, QWidget
4+
5+
from layout_colorwidget import Color
6+
7+
8+
class MainWindow(QMainWindow):
9+
10+
def __init__(self):
11+
super().__init__()
12+
self.setWindowTitle("My App")
13+
14+
layout = QHBoxLayout()
15+
16+
layout.addWidget(Color("red"))
17+
layout.addWidget(Color("green"))
18+
layout.addWidget(Color("orange"))
19+
layout.addWidget(Color("blue"))
20+
21+
widget = QWidget()
22+
widget.setLayout(layout)
23+
self.setCentralWidget(widget)
24+
25+
26+
app = QApplication(sys.argv)
27+
window = MainWindow()
28+
window.show()
29+
app.exec()

0 commit comments

Comments
 (0)