-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlistWidgetAndStackedWidget.py
32 lines (23 loc) · 1.11 KB
/
listWidgetAndStackedWidget.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QWidget, QListWidget, QListView, QVBoxLayout, \
QStackedWidget
from pyqt_resource_helper.pyqtResourceHelper import PyQtResourceHelper
class ListWidgetAndStackedWidget(QWidget):
def __init__(self):
super().__init__()
self.__initUi()
def __initUi(self):
self.__listWidget = QListWidget()
self.__listWidget.setFlow(QListView.LeftToRight)
PyQtResourceHelper.setStyleSheet([self.__listWidget], ['style/list_widget.css'])
self.__listWidget.setMaximumHeight(self.__listWidget.fontMetrics().boundingRect('M').height() * 2)
self.__listWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.__stackedWidget = QStackedWidget()
lay = QVBoxLayout()
lay.addWidget(self.__listWidget)
lay.addWidget(self.__stackedWidget)
self.setLayout(lay)
self.__listWidget.currentRowChanged.connect(self.__stackedWidget.setCurrentIndex)
def addTab(self, widget: QWidget, text: str):
self.__listWidget.addItem(text)
self.__stackedWidget.addWidget(widget)