def _setup_invalid_gui(self): not_available = QLabel('Data access unavailable') not_available.alignment = Qt.AlignCenter not_available.enabled = False layout = QGridLayout(self) layout.add_widget(not_available) QMessageBox.warning(self, 'Data access unavailable', 'Data access unavailable.')
def build(widget, *, size, align, fit_to: bool | str): native = QLabel(fit_to if isinstance(fit_to, str) else widget.text) native.alignment = to_alignment_lookup[align] native.style_sheet = ( widget._impl_cache_ ) = f"font-size: {to_qt_font_size(size)}; padding: 5px;" w, h = native.size_hint().to_tuple() return ( native, (int(1.2 * w), int(1.2 * h)), )
def _setup_view_widget(self, view_widget, title, model, update_slot, width=250): view_widget.set_model(model) view_widget.selection_behavior = QtWidgets.QAbstractItemView.SelectRows view_widget.selection_model().selectionChanged.connect(update_slot) view_widget.edit_triggers = QtWidgets.QAbstractItemView.NoEditTriggers count_widget = QLabel() count_widget.alignment = Qt.AlignRight font = count_widget.font font.set_italic(True) count_widget.font = font widget = QWidget() if width > 0: widget.set_fixed_width(width) layout = QVBoxLayout(widget) layout.add_widget(QLabel(title)) layout.add_widget(view_widget) layout.add_widget(count_widget) layout.contents_margins = QtCore.QMargins(0, 0, 0, 0) return view_widget, count_widget, widget