86 ) -> None:
87 super().__init__(*args, **kwargs)
88 self._device = device
89
90 self._button2window: typing.Dict[
91 QtWidgets.QPushButton, typing.Optional[QtWidgets.QMainWindow]
92 ] = {}
93 self._button2name: typing.Dict[QtWidgets.QPushButton, str] = {}
94
95 self._button_grp = QtWidgets.QButtonGroup(self)
96 self._button_grp.setExclusive(False)
97 for name in self._device.devices.keys():
98 button = QtWidgets.QPushButton(name, parent=self)
99 button.setCheckable(True)
100 self._button_grp.addButton(button)
101 self._button2name[button] = name
102 self._button2window[button] = None
103 self._button_grp.buttonToggled.connect(self.toggleDeviceWidget)
104
105 layout = QtWidgets.QVBoxLayout()
106 for button in self._button_grp.buttons():
107 layout.addWidget(button)
108 self.setLayout(layout)
109