added gui
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import sys, os
|
||||
|
||||
_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
_gui = os.path.dirname(os.path.abspath(__file__))
|
||||
for _p in [_root, _gui]:
|
||||
if _p not in sys.path:
|
||||
sys.path.insert(0, _p)
|
||||
|
||||
from PyQt5.QtWidgets import (
|
||||
QWidget, QScrollArea, QGridLayout, QVBoxLayout, QFrame,
|
||||
)
|
||||
from PyQt5.QtCore import Qt
|
||||
|
||||
from data_model import ReceiverManager
|
||||
from plot_widget import SinglePlotWidget
|
||||
|
||||
|
||||
class PlotTab(QWidget):
|
||||
NUM_PLOTS = 8
|
||||
|
||||
def __init__(self, model: ReceiverManager):
|
||||
super().__init__()
|
||||
outer = QVBoxLayout(self)
|
||||
outer.setContentsMargins(0, 0, 0, 0)
|
||||
|
||||
scroll = QScrollArea()
|
||||
scroll.setWidgetResizable(True)
|
||||
scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
|
||||
|
||||
container = QWidget()
|
||||
grid = QGridLayout(container)
|
||||
grid.setContentsMargins(4, 4, 4, 4)
|
||||
grid.setSpacing(6)
|
||||
|
||||
for i in range(self.NUM_PLOTS):
|
||||
frame = QFrame()
|
||||
frame.setFrameShape(QFrame.StyledPanel)
|
||||
frame.setFrameShadow(QFrame.Raised)
|
||||
fl = QVBoxLayout(frame)
|
||||
fl.setContentsMargins(2, 2, 2, 2)
|
||||
pw = SinglePlotWidget(model)
|
||||
pw.setMinimumHeight(230)
|
||||
fl.addWidget(pw)
|
||||
grid.addWidget(frame, i // 2, i % 2)
|
||||
|
||||
scroll.setWidget(container)
|
||||
outer.addWidget(scroll)
|
||||
Reference in New Issue
Block a user