示例#1
0
    def __init__(self, title, comm, topics, userWidget):
        super().__init__(title)
        self.setObjectName(title)

        self.comm = comm
        self.topics = topics

        splitter = QSplitter()

        self.fieldDataIndex = None

        plotLayout = QVBoxLayout()
        selectionLayout = QVBoxLayout()
        detailsLayout = QFormLayout()
        filterLayout = QHBoxLayout()

        w_left = QWidget()
        w_left.setLayout(plotLayout)
        splitter.addWidget(w_left)
        w_right = QWidget()
        w_right.setLayout(selectionLayout)
        splitter.addWidget(w_right)

        splitter.setCollapsible(0, False)
        splitter.setStretchFactor(0, 10)
        splitter.setStretchFactor(1, 0)

        selectionLayout.addLayout(detailsLayout)
        selectionLayout.addWidget(QLabel("Filter Data"))
        selectionLayout.addLayout(filterLayout)

        self.selectedActuatorIdLabel = QLabel("")
        self.selectedActuatorValueLabel = QLabel("")
        self.selectedActuatorWarningLabel = QLabel("")
        self.lastUpdatedLabel = TimeDeltaLabel()

        self.topicList = QListWidget()
        self.topicList.currentRowChanged.connect(self.currentTopicChanged)
        for topic in self.topics.topics:
            self.topicList.addItem(topic.name)
        self.fieldList = QListWidget()
        self.fieldList.currentRowChanged.connect(self.currentFieldChanged)

        plotLayout.addWidget(userWidget)

        detailsLayout.addRow(QLabel("Selected Actuator Details"), QLabel(""))
        detailsLayout.addRow(QLabel("Actuator Id"),
                             self.selectedActuatorIdLabel)
        detailsLayout.addRow(QLabel("Actuator Value"),
                             self.selectedActuatorValueLabel)
        detailsLayout.addRow(QLabel("Actuator Warning"),
                             self.selectedActuatorWarningLabel)
        detailsLayout.addRow(QLabel("Last Updated"), self.lastUpdatedLabel)

        filterLayout.addWidget(self.topicList)
        filterLayout.addWidget(self.fieldList)

        self.topicList.setCurrentRow(0)

        self.setWidget(splitter)
 def _create_splitter(self, ) -> QSplitter:
     splitter = QSplitter(
         Qt.Vertical,
         self,
     )
     splitter.addWidget(self._tab_widget)
     splitter.addWidget(self._logs_widget)
     splitter.addWidget(self._progress_bar)
     splitter.setCollapsible(0, False)  # noqa: WPS425
     splitter.setCollapsible(1, False)  # noqa: WPS425
     splitter.setCollapsible(2, False)  # noqa: WPS425
     splitter.setStretchFactor(0, 98)
     splitter.setStretchFactor(1, 1)
     splitter.setStretchFactor(2, 1)
     return splitter
示例#3
0
    def __init__(self):
        super().__init__()

        self.setLayout(QVBoxLayout())
        vsplit = QSplitter(QtCore.Qt.Vertical)
        hsplit = QSplitter(QtCore.Qt.Horizontal)
        self.layout().addWidget(vsplit)
        self.layout().setMargin(0)
        self.layout().setSpacing(0)

        self.unity_area = UnityWidget()
        self.prop_area = Properties()
        self.timeline = Timeline()

        hsplit.addWidget(self.unity_area)
        hsplit.setCollapsible(0, False)
        hsplit.addWidget(self.prop_area)
        hsplit.setStretchFactor(0, 1)
        hsplit.setSizes([hsplit.width() - 400, 400])
        vsplit.addWidget(hsplit)
        vsplit.setCollapsible(0, False)
        vsplit.addWidget(self.timeline)
        vsplit.setStretchFactor(0, 1)
        vsplit.setSizes([vsplit.height() - 150, 150])