def __init__(self, parent=None): super().__init__(parent=parent) self.setTitle("Select peak") layout = QFormLayout() layout.setFieldGrowthPolicy(0) self.peak_select = QComboBox() layout.addRow(QLabel("Peak"), self.peak_select) self.setLayout(layout)
def __init__(self, *args, **kwargs): super(PairPlotIntentCanvas, self).__init__() self.transform_data = None self.plot_widget = PlotIntentCanvasBlend() self.plot_widget.setAspectLocked(True) self.componentA = QComboBox() self.componentB = QComboBox() self.setLayout(QVBoxLayout()) self.layout().addWidget(self.plot_widget) self.layout().addWidget(self.componentA) self.layout().addWidget(self.componentB) # Signals self.componentA.currentIndexChanged.connect(self.show_pair) self.componentB.currentIndexChanged.connect(self.show_pair)
def __init__(self, settings, parent=None): super().__init__(parent) self.settings = settings self.serialports = [] # port self.portLabel = QLabel(self.tr("COM Port:")) self.portComboBox = QComboBox() self.portLabel.setBuddy(self.portComboBox) self.refresh_comports(self.portComboBox) # baudrate self.baudrateLabel = QLabel(self.tr("Baudrate:")) self.baudrateComboBox = QComboBox() self.baudrateLabel.setBuddy(self.baudrateComboBox) for br in BAUDRATES: self.baudrateComboBox.addItem(str(br), br) # buttons self.dlgbuttons = QDialogButtonBox( QDialogButtonBox.Ok | QDialogButtonBox.Cancel, Qt.Horizontal) self.dlgbuttons.rejected.connect(self.reject) self.dlgbuttons.accepted.connect(self.accept) # layout layout = QGridLayout() layout.addWidget(self.portLabel, 0, 0) layout.addWidget(self.portComboBox, 0, 1) layout.addWidget(self.baudrateLabel, 1, 0) layout.addWidget(self.baudrateComboBox, 1, 1) layout.addWidget(self.dlgbuttons, 2, 0, 1, 2) self.setLayout(layout) self.setWindowTitle(self.tr("Serial Settings")) # settings defaults = { PORT_SETTING: "", BAUDRATE_SETTING: "115200" } self.tmp_settings = ConfigManager() self.tmp_settings.set_defaults(defaults) self.tmp_settings.set_many( {key: self.settings.get(key) for key in defaults.keys()} ) self.tmp_settings.add_handler(PORT_SETTING, self.portComboBox) self.tmp_settings.add_handler(BAUDRATE_SETTING, self.baudrateComboBox)
def get_widget(type_): if issubclass(type_, Channel): res = QComboBox() res.addItems([str(x) for x in range(10)]) return res if issubclass(type_, bool): return QCheckBox() if issubclass(type_, int): return QSpinBox() if issubclass(type_, float): return QDoubleSpinBox() if issubclass(type_, str): return QLineEdit() if issubclass(type_, Enum): res = QComboBox() res.addItems(list(type_.__members__.keys())) return res
def createEditor(self, parent: QWidget, option: QStyleOptionViewItem, index: QModelIndex) -> QWidget: editor = QComboBox(parent=parent) if self.model is not None: editor.setModel(self.model) return editor
def __init__(self, config_file): QWidget.__init__(self) self._config_file = config_file self._ee_config = None if FeatureToggling.is_enabled("ensemble-evaluator"): self._ee_config = EvaluatorServerConfig() self.setObjectName("Simulation_panel") layout = QVBoxLayout() self._simulation_mode_combo = QComboBox() self._simulation_mode_combo.setObjectName("Simulation_mode") addHelpToWidget(self._simulation_mode_combo, "run/simulation_mode") self._simulation_mode_combo.currentIndexChanged.connect( self.toggleSimulationMode) simulation_mode_layout = QHBoxLayout() simulation_mode_layout.addSpacing(10) simulation_mode_layout.addWidget(QLabel("Simulation mode:"), 0, Qt.AlignVCenter) simulation_mode_layout.addWidget(self._simulation_mode_combo, 0, Qt.AlignVCenter) simulation_mode_layout.addSpacing(20) self.run_button = QToolButton() self.run_button.setObjectName("start_simulation") self.run_button.setIconSize(QSize(32, 32)) self.run_button.setText("Start Simulation") self.run_button.setIcon(resourceIcon("ide/gear_in_play")) self.run_button.clicked.connect(self.runSimulation) self.run_button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) addHelpToWidget(self.run_button, "run/start_simulation") simulation_mode_layout.addWidget(self.run_button) simulation_mode_layout.addStretch(1) layout.addSpacing(5) layout.addLayout(simulation_mode_layout) layout.addSpacing(10) self._simulation_stack = QStackedWidget() self._simulation_stack.setLineWidth(1) self._simulation_stack.setFrameStyle(QFrame.StyledPanel) layout.addWidget(self._simulation_stack) self._simulation_widgets = OrderedDict() """ :type: OrderedDict[BaseRunModel,SimulationConfigPanel]""" self.addSimulationConfigPanel(SingleTestRunPanel()) self.addSimulationConfigPanel(EnsembleExperimentPanel()) if ERT.ert.have_observations(): self.addSimulationConfigPanel(EnsembleSmootherPanel()) self.addSimulationConfigPanel(MultipleDataAssimilationPanel()) self.addSimulationConfigPanel(IteratedEnsembleSmootherPanel()) self.setLayout(layout)
def __init__(self, parent): super(GUIConfigFrame, self).__init__(parent) self.widget_layout = QVBoxLayout(self) self.setLayout(self.widget_layout) self.gui_conf_label = QLabel(self) self.gui_conf_label.setText("GUI server configuration") self.widget_layout.addWidget(self.gui_conf_label) self.desc_label = QLabel(self) self.desc_label.setWordWrap(True) self.desc_label.setText( "QtPyBotnet GUI if fully remote. This means that you can connect to C2 server and " "manage bots wherever you are. To authenticate when connecting to GUI server use the " "key below.") self.widget_layout.addWidget(self.desc_label) self.gui_config = QWidget(self) self.gui_config_layout = QFormLayout(self.gui_config) self.widget_layout.addWidget(self.gui_config) self.gui_ip_label = QLabel(self.gui_config) self.gui_ip_label.setObjectName("gui_ip_label") self.gui_ip_label.setText("GUI IP Address") self.gui_ip_combo = QComboBox(self.gui_config) self.gui_config_layout.addRow(self.gui_ip_label, self.gui_ip_combo) self.gui_port_label = QLabel(self.gui_config) self.gui_port_label.setObjectName("gui_port_label") self.gui_port_label.setText("GUI Port") self.gui_port_edit = QSpinBox(self.gui_config) self.gui_port_edit.setObjectName("gui_port_spin") self.gui_port_edit.setRange(1024, 65535) self.gui_port_edit.setValue(15692) self.gui_config_layout.addRow(self.gui_port_label, self.gui_port_edit) self.gui_key_label = QLabel(self.gui_config) self.gui_key_label.setObjectName("gui_key_label") self.gui_key_label.setText("GUI encryption key") self.gui_key_edit = QLineEdit(self.gui_config) self.gui_key_edit.setObjectName("gui_key_edit") self.gui_key_edit.setReadOnly(True) self.gui_config_layout.addRow(self.gui_key_label, self.gui_key_edit) self.gmaps_key_label = QLabel(self.gui_config) self.gmaps_key_label.setObjectName("gmaps_key_label") self.gmaps_key_label.setText("Google Maps API key") self.gmap_key_edit = QLineEdit(self.gui_config) self.gmap_key_edit.setObjectName("gmap_key_edit") self.gui_config_layout.addRow(self.gmaps_key_label, self.gmap_key_edit) spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.widget_layout.addItem(spacerItem)
def __init__(self, layer): super().__init__(layer) self.layer.events.interpolation.connect(self._on_interpolation_change) self.layer.events.rendering.connect(self._on_rendering_change) interp_comboBox = QComboBox() for interp in Interpolation: interp_comboBox.addItem(str(interp)) index = interp_comboBox.findText(self.layer.interpolation, Qt.MatchFixedString) interp_comboBox.setCurrentIndex(index) interp_comboBox.activated[str].connect( lambda text=interp_comboBox: self.changeInterpolation(text)) self.interpComboBox = interp_comboBox renderComboBox = QComboBox() for render in Rendering: renderComboBox.addItem(str(render)) index = renderComboBox.findText(self.layer.rendering, Qt.MatchFixedString) renderComboBox.setCurrentIndex(index) renderComboBox.activated[str].connect( lambda text=renderComboBox: self.changeRendering(text)) self.renderComboBox = renderComboBox # grid_layout created in QtLayerControls # addWidget(widget, row, column, [row_span, column_span]) self.grid_layout.addWidget(QLabel('opacity:'), 0, 0, 1, 3) self.grid_layout.addWidget(self.opacitySilder, 0, 3, 1, 4) self.grid_layout.addWidget(QLabel('contrast limits:'), 1, 0, 1, 3) self.grid_layout.addWidget(self.contrastLimitsSlider, 1, 3, 1, 4) self.grid_layout.addWidget(QLabel('gamma:'), 2, 0, 1, 3) self.grid_layout.addWidget(self.gammaSlider, 2, 3, 1, 4) self.grid_layout.addWidget(QLabel('colormap:'), 3, 0, 1, 3) self.grid_layout.addWidget(self.colormapComboBox, 3, 3, 1, 3) self.grid_layout.addWidget(self.colorbarLabel, 3, 6) self.grid_layout.addWidget(QLabel('blending:'), 4, 0, 1, 3) self.grid_layout.addWidget(self.blendComboBox, 4, 3, 1, 4) self.grid_layout.addWidget(QLabel('rendering:'), 5, 0, 1, 3) self.grid_layout.addWidget(self.renderComboBox, 5, 3, 1, 4) self.grid_layout.addWidget(QLabel('interpolation:'), 6, 0, 1, 3) self.grid_layout.addWidget(self.interpComboBox, 6, 3, 1, 4) self.grid_layout.setRowStretch(6, 1) self.grid_layout.setVerticalSpacing(4)
def __init__(self, parent, debug=False): """creates the buttons in the Sidebar, not the actual layout""" QWidget.__init__(self) self.parent = parent self.debug = debug name = 'main' data = [] data = [ ("Alice", None, [("Keys", 1, []), ("Purse", 2, [("Cellphone", 3, [])])]), ("Bob", None, [("Wallet", None, [("Credit card", 4, []), ("Money", 5, [])])]), ] choices = ['keys2', 'purse2', 'cellphone2', 'credit_card2', 'money2'] self.result_case_window = ResultsWindow('Case/Results', data, choices) data = [ ('A', 1, []), #('B', 2, []), #('C', 3, []), ] self.result_data_window = ResultsWindow('Method', data, choices) self.result_data_window.setVisible(False) self.show_pulldown = False if self.show_pulldown: combo_options = ['a1', 'a2', 'a3'] self.pulldown = QComboBox() self.pulldown.addItems(choices) self.pulldown.activated[str].connect(self.on_pulldown) self.apply_button = QPushButton('Apply', self) self.apply_button.clicked.connect(self.on_apply) self.name = str(name) self.names = [name] self.name_label = QLabel("Name:") self.name_pulldown = QComboBox() self.name_pulldown.addItem(name) self.name_pulldown.setDisabled(True) self.name_pulldown.currentIndexChanged.connect(self.on_update_name) self.setup_layout()
def __init__(self, subject_settings): super(SubjectWidget, self).__init__() self.subject_enums = DBWrapper().return_enums('subject') subject_layout = QGridLayout(self) subject_layout.setColumnMinimumWidth(2, 60) subject_layout.addWidget(QLabel("Id: "), 0, 0, 1, 1) self.id_combo = QComboBox() self.id_combo.setEditable(True) self.id_combo.addItem('') self.id_combo.addItems(DBWrapper().list_all_subjects()) self.id_combo.currentIndexChanged.connect(self.load_subject) self.id_combo.lineEdit().editingFinished.connect(self.check_subject) subject_layout.addWidget(self.id_combo, 0, 1, 1, 4) subject_layout.addWidget(QLabel("Name: "), 1, 0, 1, 1) self.name_edit = QLineEdit() self.name_edit.setMaxLength(135) subject_layout.addWidget(self.name_edit, 1, 1, 1, 4) subject_layout.addWidget(QLabel("Sex: "), 2, 0, 1, 1) self.sex_combo = QComboBox() self.sex_combo.addItems(self.subject_enums['sex'] if 'sex' in self.subject_enums.keys() else []) self.sex_combo.setCurrentIndex(0) subject_layout.addWidget(self.sex_combo, 2, 1, 1, 1) subject_layout.addWidget((QLabel("Date of birth: ")), 3, 0, 1, 1) self.dob_calendar = QCalendarWidget() subject_layout.addWidget(self.dob_calendar, 3, 1, 1, 3) subject_layout.addWidget(QLabel("NSP file comment: "), 4, 0, 1, 1) self.file_comment = QTextEdit("") self.file_comment.setMaximumHeight(150) subject_layout.addWidget(self.file_comment, 4, 1, 1, 4) # Subject Settings self.subject_settings = subject_settings if not self.subject_settings: self.update_settings_from_db(-1) self.update_subject()
def __init__(self, *args, **kwargs): super(MOSViewerToolbar, self).__init__(*args, **kwargs) self.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) # Define the toolbar actions self.cycle_previous_action = QAction( QIcon(os.path.join(ICON_DIR, "Previous-96.png")), "Previous", self) self.cycle_next_action = QAction( QIcon(os.path.join(ICON_DIR, "Next-96.png")), "Next", self) # Include the dropdown widget self.source_select = QComboBox() # Add the items to the toolbar self.addAction(self.cycle_previous_action) self.addAction(self.cycle_next_action) self.addWidget(self.source_select) # Include a button to open spectrum in specviz self.open_specviz = QAction( QIcon(os.path.join(ICON_DIR, "External-96.png")), "Open in SpecViz", self) # Create a tool button to hold the lock axes menu object tool_button = QToolButton(self) tool_button.setText("Axes Settings") tool_button.setIcon(QIcon(os.path.join(ICON_DIR, "Settings-96.png"))) tool_button.setPopupMode(QToolButton.MenuButtonPopup) tool_button.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) # Create a menu for the axes settings drop down self.settings_menu = QMenu(self) # Add lock x axis action self.lock_x_action = QAction("Lock spectral axis", self.settings_menu) self.lock_x_action.setCheckable(True) # Add lock y axis action self.lock_y_action = QAction("Lock vertical displacement axis", self.settings_menu) self.lock_y_action.setCheckable(True) # Add the actions to the menu self.settings_menu.addAction(self.lock_x_action) self.settings_menu.addAction(self.lock_y_action) # Set the menu object on the tool button tool_button.setMenu(self.settings_menu) # Create a widget action object to hold the tool button, this way the # toolbar behaves the way it's expected to tool_button_action = QWidgetAction(self) tool_button_action.setDefaultWidget(tool_button) self.addAction(tool_button_action) self.addSeparator() self.addAction(self.open_specviz)
def _create_objective_combo( self, device_label) -> Union[StateDeviceWidget, QComboBox]: if device_label: combo = _ObjectiveStateWidget(device_label, mmcore=self._mmc) combo.setMinimumWidth(285) else: combo = QComboBox() combo.setEnabled(False) return combo
def add_new_row(self, _metadata, row=0): self.parent.ui.table.insertRow(row) _layout = QHBoxLayout() _widget = QCheckBox() _widget.setEnabled(True) _layout.addWidget(_widget) _layout.addStretch() _new_widget = QWidget() _new_widget.setLayout(_layout) _widget.stateChanged.connect(lambda state=0, row=row: self.parent. table_select_state_changed(state, row)) self.parent.ui.table.setCellWidget(row, 0, _new_widget) _item = QTableWidgetItem(_metadata['name']) self.parent.ui.table.setItem(row, 1, _item) _item = QTableWidgetItem(_metadata['runs']) self.parent.ui.table.setItem(row, 2, _item) if not _metadata['sample_formula']: _item = QTableWidgetItem(_metadata['sample_formula']) self.parent.ui.table.setItem(row, 3, _item) if not _metadata['mass_density']: _item = QTableWidgetItem(_metadata['mass_density']) self.parent.ui.table.setItem(row, 4, _item) if not _metadata['radius']: _item = QTableWidgetItem(_metadata['radius']) self.parent.ui.table.setItem(row, 5, _item) if not _metadata['packing_fraction']: _item = QTableWidgetItem(_metadata['packing_fraction']) self.parent.ui.table.setItem(row, 6, _item) _widget = QComboBox() _widget.addItem("cylindrical") _widget.addItem("spherical") if _metadata['sample_shape'] == 'spherical': _widget.setCurrentIndex(1) self.parent.ui.table.setCellWidget(row, 7, _widget) _layout = QHBoxLayout() _widget = QCheckBox() if _metadata['do_abs_correction'] == 'go': _widget.setCheckState(Qt.Checked) _widget.setStyleSheet("border: 2px; solid-black") _widget.setEnabled(True) _layout.addStretch() _layout.addWidget(_widget) _layout.addStretch() _new_widget = QWidget() _new_widget.setLayout(_layout) self.parent.ui.table.setCellWidget(row, 8, _new_widget)
def __init__(self, viewer, key_map_handler, parent=None): super().__init__(parent=parent) self.viewer = viewer self.layout = QVBoxLayout() self.setWindowTitle(trans._('Keybindings')) self.setWindowModality(Qt.NonModal) self.setLayout(self.layout) # stacked key bindings widgets self.textEditBox = QTextEdit() self.textEditBox.setTextInteractionFlags(Qt.TextSelectableByMouse) self.textEditBox.setMinimumWidth(360) # Can switch to a normal dict when our minimum Python is 3.7 self.key_bindings_strs = OrderedDict() self.key_bindings_strs[self.ALL_ACTIVE_KEYBINDINGS] = '' self.key_map_handler = key_map_handler theme = get_theme(self.viewer.theme) col = theme['secondary'] layers = [ napari.layers.Image, napari.layers.Labels, napari.layers.Points, napari.layers.Shapes, napari.layers.Surface, napari.layers.Vectors, ] layer_shortcuts = action_manager._get_layer_shortcuts(layers) for layer in layers: if len(layer.class_keymap) == 0: text = trans._('No key bindings') else: text = get_key_bindings_summary(layer_shortcuts[layer], col=col) # TODO: Add localization. Add localized layer name to layer types. self.key_bindings_strs[f"{layer.__name__} layer"] = text # layer type selection self.layerTypeComboBox = QComboBox() self.layerTypeComboBox.addItems(list(self.key_bindings_strs)) self.layerTypeComboBox.activated[str].connect(self.change_layer_type) self.layerTypeComboBox.setCurrentText(self.ALL_ACTIVE_KEYBINDINGS) layer_type_layout = QHBoxLayout() layer_type_layout.setContentsMargins(10, 5, 0, 0) layer_type_layout.addWidget(self.layerTypeComboBox) layer_type_layout.addStretch(1) layer_type_layout.setSpacing(0) self.layout.addLayout(layer_type_layout) self.layout.addWidget(self.textEditBox, 1) self.viewer.events.theme.connect(self.update_active_layer) self.update_active_layer()
def __init__(self, parent=None): super(WidgetGallery, self).__init__(parent) self.originalPalette = QApplication.palette() styleComboBox = QComboBox() styleComboBox.addItems(QStyleFactory.keys()) styleLabel = QLabel("&Style:") styleLabel.setBuddy(styleComboBox) self.useStylePaletteCheckBox = QCheckBox( "&Use style's standard palette") self.useStylePaletteCheckBox.setChecked(True) disableWidgetsCheckBox = QCheckBox("&Disable widgets") self.createTopLeftGroupBox() self.createTopRightGroupBox() self.createBottomLeftTabWidget() self.createBottomRightGroupBox() self.createProgressBar() styleComboBox.activated[str].connect(self.changeStyle) self.useStylePaletteCheckBox.toggled.connect(self.changePalette) disableWidgetsCheckBox.toggled.connect( self.topLeftGroupBox.setDisabled) disableWidgetsCheckBox.toggled.connect( self.topRightGroupBox.setDisabled) disableWidgetsCheckBox.toggled.connect( self.bottomLeftTabWidget.setDisabled) disableWidgetsCheckBox.toggled.connect( self.bottomRightGroupBox.setDisabled) topLayout = QHBoxLayout() topLayout.addWidget(styleLabel) topLayout.addWidget(styleComboBox) topLayout.addStretch(1) topLayout.addWidget(self.useStylePaletteCheckBox) topLayout.addWidget(disableWidgetsCheckBox) mainLayout = QGridLayout() mainLayout.addLayout(topLayout, 0, 0, 1, 2) mainLayout.addWidget(self.topLeftGroupBox, 1, 0) mainLayout.addWidget(self.topRightGroupBox, 1, 1) mainLayout.addWidget(self.bottomLeftTabWidget, 2, 0) mainLayout.addWidget(self.bottomRightGroupBox, 2, 1) mainLayout.addWidget(self.progressBar, 3, 0, 1, 2) mainLayout.setRowStretch(1, 1) mainLayout.setRowStretch(2, 1) mainLayout.setColumnStretch(0, 1) mainLayout.setColumnStretch(1, 1) self.setLayout(mainLayout) self.changeStyle('Windows') self.val = 0
def __init__(self, name, values, settingType, doc): """ Initialize the setting by providing its name, allowed values, type and documentation. This constructor chooses a widget to represent the setting on the basis of its type. Args: name (str): setting name values (list(str)): allowed values. This is only used with combobox type settings settingType (str): a str that represents the setting type doc (str): setting documentation """ super(DrillSetting, self).__init__() self._doc = doc if ((settingType == "file") or (settingType == "files")): self._widget = FileFinderWidget() self._widget.isOptional(True) if (settingType == "files"): self._widget.allowMultipleFiles(True) self._widget.setLabelText("") self._widget.fileInspectionFinished.connect( lambda: self.fileChecked.emit(self._widget.isValid())) self._setter = self._widget.setUserInput self._getter = self._widget.getUserInput if (settingType == "workspace"): self._widget = WorkspaceSelector() self._widget.setOptional(True) self._widget.currentTextChanged.connect( lambda t: self.valueChanged.emit(name)) self._setter = self._widget.setCurrentText self._getter = self._widget.currentText elif (settingType == "combobox"): self._widget = QComboBox() self._widget.addItems(values) self._widget.currentTextChanged.connect( lambda t: self.valueChanged.emit(name)) self._setter = self._widget.setCurrentText self._getter = self._widget.currentText elif (settingType == "bool"): self._widget = QCheckBox() self._widget.stateChanged.connect( lambda s: self.valueChanged.emit(name)) self._setter = self._widget.setChecked self._getter = self._widget.isChecked elif (settingType == "string"): self._widget = QLineEdit() self._widget.editingFinished.connect( lambda: self.valueChanged.emit(name)) self._setter = lambda v: self._widget.setText(str(v) if v else "") self._getter = self._widget.text
def setup_ui(self): """Initialize widgets.""" info_label = QLabel() info_label.setText("Hit enter to capture your image!") self.image_label = QLabel() self.image_label.setMinimumSize(320, 240) self.image_label.setScaledContents(True) button_layout = QVBoxLayout() button_layout.setAlignment(Qt.AlignLeft) self.style_buttons = [ QRadioButton(settings.STYLE_SHORTCUTS[i] + ". " + style.name if i < len(settings.STYLE_SHORTCUTS) else style.name) for i, style in enumerate(self.styles) ] self.style_buttons[self.styles.index( self.selected_style)].setChecked(True) self.style_button_group = QButtonGroup() for i, btn in enumerate(self.style_buttons): button_layout.addWidget(btn) self.style_button_group.addButton(btn, i) btn.clicked.connect( partial(lambda style: self.style_button_clicked(style), self.styles[i])) button_layout.addStretch(1) ctrl_layout = QHBoxLayout() if not settings.KIOSK: fullscreen_button = QPushButton('[ ]') fullscreen_button.setMaximumWidth( fullscreen_button.fontMetrics().boundingRect('[ ]').width() + 10) fullscreen_button.clicked.connect(self.toggle_fullscreen) ctrl_layout.addWidget(fullscreen_button) ctrl_layout.addStretch(1) self.size_combo = QComboBox() for s in settings.SIZES: self.size_combo.addItem(s) self.size_combo.setCurrentIndex(settings.SIZES.index(self.quality)) ctrl_layout.addWidget(self.size_combo) self.size_combo.activated[str].connect(self.quality_choice) button_layout.addLayout(ctrl_layout) sub_layout = QHBoxLayout() sub_layout.addLayout(button_layout) sub_layout.addWidget(self.image_label, 1) main_layout = QVBoxLayout() main_layout.addWidget(info_label) main_layout.addLayout(sub_layout) self.setLayout(main_layout)
def __init__(self, parent): super(TaskSelectionGroupBox, self).__init__(parent) self.widget_layout = QVBoxLayout(self) self.setLayout(self.widget_layout) self.setTitle("Tasks") self.tasks = [] self.combo = QComboBox(self) self.combo.currentTextChanged.connect(self.on_combo_currentTextChanged) self.widget_layout.addWidget(self.combo)
def __init__(self, parent=None): super().__init__(parent) self.settings = QSettings() # decimal self.decimalLabel = QLabel(self.tr("decimal:")) self.decimalComboBox = QComboBox() self.decimalLabel.setBuddy(self.decimalComboBox) self.decimalComboBox.addItems([",", "."]) # separator self.separatorLabel = QLabel(self.tr("separator:")) self.separatorComboBox = QComboBox() self.separatorLabel.setBuddy(self.separatorComboBox) self.separatorComboBox.addItem("Semicolon ';'", ';') self.separatorComboBox.addItem("Comma ','", ',') self.separatorComboBox.addItem("Tabulator '\\t'", '\t') self.separatorComboBox.addItem("Whitespace ' '", ' ') # buttons self.buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.buttons.accepted.connect(self.accept) self.buttons.rejected.connect(self.reject) # layout layout = QGridLayout() layout.addWidget(self.decimalLabel, 0, 0) layout.addWidget(self.decimalComboBox, 0, 1) layout.addWidget(self.separatorLabel, 1, 0) layout.addWidget(self.separatorComboBox, 1, 1) layout.addWidget(self.buttons, 2, 0, 1, 2) self.setLayout(layout) # settings self.decimalComboBox.setCurrentIndex( self.decimalComboBox.findText( self.settings.value(DECIMAL_SETTING, ","))) self.separatorComboBox.setCurrentIndex( self.separatorComboBox.findData( self.settings.value(SEPARATOR_SETTING, ";"))) self.setWindowTitle(self.tr("record settings"))