def __init__(self, parent=None): super().__init__(parent) self.train_data = None self.test_data = None #: An Ordered dictionary with current inputs and their testing #: results. self.learners = OrderedDict() sbox = gui.widgetBox(self.controlArea, "Sampling") rbox = gui.radioButtons( sbox, self, "resampling", callback=self._param_changed ) gui.appendRadioButton(rbox, "Cross validation") ibox = gui.indentedBox(rbox) gui.spin(ibox, self, "k_folds", 2, 50, label="Number of folds:", callback=self.kfold_changed) gui.appendRadioButton(rbox, "Leave one out") gui.appendRadioButton(rbox, "Random sampling") ibox = gui.indentedBox(rbox) gui.spin(ibox, self, "n_repeat", 2, 50, label="Repeat train/test", callback=self.bootstrap_changed) gui.widgetLabel(ibox, "Relative training set size:") gui.hSlider(ibox, self, "sample_p", minValue=1, maxValue=100, ticks=20, vertical=False, labelFormat="%d %%", callback=self.bootstrap_changed) gui.appendRadioButton(rbox, "Test on train data") gui.appendRadioButton(rbox, "Test on test data") rbox.layout().addSpacing(5) gui.button(rbox, self, "Apply", callback=self.apply) self.cbox = gui.widgetBox(self.controlArea, "Target class") self.class_selection_combo = gui.comboBox(self.cbox, self, "class_selection", items=[], callback=self._select_class, sendSelectedValue=True, valueType=str) gui.rubber(self.controlArea) self.view = QTreeView( rootIsDecorated=False, uniformRowHeights=True, wordWrap=True, editTriggers=QTreeView.NoEditTriggers ) header = self.view.header() header.setResizeMode(QHeaderView.ResizeToContents) header.setDefaultAlignment(Qt.AlignCenter) header.setStretchLastSection(False) self.result_model = QStandardItemModel() self.view.setModel(self.result_model) self.view.setItemDelegate(ItemDelegate()) self._update_header() box = gui.widgetBox(self.mainArea, "Evaluation Results") box.layout().addWidget(self.view)
def __setupUi(self): layout = QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) view = QTreeView(objectName="tool-tree-view") view.setUniformRowHeights(True) view.setFrameStyle(QTreeView.NoFrame) view.setModel(self.__model) view.setRootIsDecorated(False) view.setHeaderHidden(True) view.setItemsExpandable(True) view.setEditTriggers(QTreeView.NoEditTriggers) view.setItemDelegate(ToolTreeItemDelegate(self)) view.activated.connect(self.__onActivated) view.clicked.connect(self.__onActivated) view.entered.connect(self.__onEntered) view.installEventFilter(self) self.__view = view layout.addWidget(view) self.setLayout(layout)
def initUi(self): vbox = QtGui.QVBoxLayout() vline = QtGui.QHBoxLayout() vline.setSpacing(2) btnTickAll = QtGui.QPushButton(u"全部记录Tick", self) btnBarAll = QtGui.QPushButton(u'全部记录Bar', self) btnSaveAll = QtGui.QPushButton(u'保存设置(重启后生效)', self) btnTickAll.clicked.connect(self.selectAllTick) btnBarAll.clicked.connect(self.selectAllBar) btnSaveAll.clicked.connect(self.saveSetting) vline.addWidget(btnTickAll) vline.addWidget(btnBarAll) vline.addWidget(btnSaveAll) vbox.addLayout(vline) self.qTreeView = QTreeView() self.model = TreeModel() self.qTreeView.setModel(self.model) self.qTreeView.setSelectionMode(QtGui.QAbstractItemView.NoSelection) self.qTreeView.setItemDelegateForColumn(1, CheckBoxDelegate(self)) self.qTreeView.setItemDelegateForColumn(2, CheckBoxDelegate(self)) self.qTreeView.setItemDelegateForColumn(3, CheckBoxDelegate(self)) self.qTreeView.setItemDelegateForColumn(5, ComboDelegate(self, ["CTP", "LTS", "XTP", "FEMAS", "XSPEED", "QDP", "KSOTP", "KSGOLD", "SGIT"])) vbox.addWidget(self.qTreeView) self.setLayout(vbox)
def on_copy(self): self.ds_model.sort(DSManagerModel.COLUMN_GROUP_DS) select_data_sources_dialog = QDialog(self) select_data_sources_dialog.resize(400, 400) select_data_sources_dialog.setWindowTitle( self.tr("Choose source service")) layout = QVBoxLayout(select_data_sources_dialog) select_data_sources_dialog.setLayout(layout) list_view = QTreeView(self) layout.addWidget(list_view) list_view.setModel(self.ds_model) #list_view.expandAll() list_view.setColumnHidden(DSManagerModel.COLUMN_VISIBILITY, True) list_view.setAlternatingRowColors(True) list_view.header().setResizeMode(DSManagerModel.COLUMN_GROUP_DS, QHeaderView.ResizeToContents) list_view.clicked.connect( lambda index: select_data_sources_dialog.accept() \ if not self.ds_model.isGroup(index) and \ index.column() == DSManagerModel.COLUMN_GROUP_DS \ else None ) if select_data_sources_dialog.exec_() == QDialog.Accepted: data_source = self.ds_model.data(list_view.currentIndex(), Qt.UserRole) data_source.id += "_copy" edit_dialog = DsEditDialog() edit_dialog.setWindowTitle(self.tr('Create service from existing')) edit_dialog.fill_ds_info(data_source) if edit_dialog.exec_() == QDialog.Accepted: self.feel_list() self.ds_model.resetModel()
def _createUi(self): self.setWindowTitle(core.project().path() or 'Locator') self.setLayout(QVBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.layout().setSpacing(1) biggerFont = self.font() biggerFont.setPointSizeF(biggerFont.pointSizeF() * 2) self.setFont(biggerFont) self._edit = _CompletableLineEdit(self) self._edit.updateCurrentCommand.connect(self._updateCurrentCommand) self._edit.enterPressed.connect(self._onEnterPressed) self._edit.installEventFilter(self) # catch Up, Down self.layout().addWidget(self._edit) self.setFocusProxy(self._edit) self._table = QTreeView(self) self._table.setFont(biggerFont) self._model = _CompleterModel() self._table.setModel(self._model) self._table.setItemDelegate(HTMLDelegate(self._table)) self._table.setRootIsDecorated(False) self._table.setHeaderHidden(True) self._table.clicked.connect(self._onItemClicked) self._table.setAlternatingRowColors(True) self._table.installEventFilter( self) # catch focus and give to the edit self.layout().addWidget(self._table) width = QFontMetrics(self.font()).width('x' * 64) # width of 64 'x' letters self.resize(width, width * 0.62)
def __init__(self, projects, parent=None): super(AddToProject, self).__init__(parent) #pathProjects must be a list self._projects = projects self.setWindowTitle(translations.TR_ADD_FILE_TO_PROJECT) self.pathSelected = '' vbox = QVBoxLayout(self) hbox = QHBoxLayout() self._list = QListWidget() for project in self._projects: self._list.addItem(project.name) self._list.setCurrentRow(0) self._tree = QTreeView() #self._tree.header().setHidden(True) self._tree.setSelectionMode(QTreeView.SingleSelection) self._tree.setAnimated(True) self.load_tree(self._projects[0]) hbox.addWidget(self._list) hbox.addWidget(self._tree) vbox.addLayout(hbox) hbox2 = QHBoxLayout() btnAdd = QPushButton(translations.TR_ADD_HERE) btnCancel = QPushButton(translations.TR_CANCEL) hbox2.addWidget(btnCancel) hbox2.addWidget(btnAdd) vbox.addLayout(hbox2) self.connect(btnCancel, SIGNAL("clicked()"), self.close) self.connect(btnAdd, SIGNAL("clicked()"), self._select_path) self.connect( self._list, SIGNAL("currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)"), self._project_changed)
def __init__(self, template, character, parent=None): super(SubPowerWidget, self).__init__(parent) self.__storage = template self.__character = character self.__model = QStandardItemModel() # Das ungenutzte Model dient dazu, alle Unterkräfte aufzunehmen, die ich nicht darstellen möchte. Ist einfacher, als diese im View zu verstecken. self.__modelUnused = QStandardItemModel() self._layout = QVBoxLayout() self.setLayout(self._layout) self.__view = QTreeView() self.__view.setHeaderHidden(True) self.__view.setModel(self.__model) self._layout.addWidget(self.__view) self._typ = "Subpower" categories = self.__storage.categories(self._typ) self.__items = {} self.__rootItem = QStandardItem() self.__rootItem = self.__model.invisibleRootItem() self.__rootItemUnused = QStandardItem() self.__rootItemUnused = self.__modelUnused.invisibleRootItem() for item in categories: categoryItem = QStandardItem(item) self.__rootItem.appendRow(categoryItem) ## Ich benötige diese Items auch im ungenutzten Model. categoryItemUnused = QStandardItem(item) self.__rootItemUnused.appendRow(categoryItemUnused) traitList = list(self.__character.traits[self._typ][item].items()) traitList.sort() for trait in traitList: traitItem = QStandardItem(trait[1].name) traitItem.setCheckable(True) ## Unhashable Type self.__items[trait[1]] = traitItem categoryItem.appendRow(traitItem) ## Funktioniert mit PySide nicht: #trait[1].availableChanged.connect(traitItem.setEnabled) ## Funktioniert auch mit PySide: trait[1].availableChanged.connect( lambda enable, item=traitItem: item.setEnabled(enable)) trait[1].valueChanged.connect(lambda val, trait=trait[ 1], item=traitItem: self.__setItemValue(trait, item)) self.__model.itemChanged.connect(self.__getItemValue) self.__character.speciesChanged.connect(self.hideOrShowToolPage) self.__character.breedChanged.connect(self.hideOrShowToolPage) self.__character.factionChanged.connect(self.hideOrShowToolPage)
def __init__(self, parent): super(ScorePartsWidget, self).__init__(parent) self.typesLabel = QLabel() self.typesView = QTreeView(selectionMode=QTreeView.ExtendedSelection, selectionBehavior=QTreeView.SelectRows, animated=True, headerHidden=True) self.scoreLabel = QLabel() self.scoreView = widgets.treewidget.TreeWidget( selectionMode=QTreeView.ExtendedSelection, selectionBehavior=QTreeView.SelectRows, headerHidden=True, animated=True, dragDropMode=QTreeView.InternalMove) self.addButton = QPushButton(icon=icons.get("list-add")) self.removeButton = QPushButton(icon=icons.get("list-remove")) self.upButton = QToolButton(icon=icons.get("go-up")) self.downButton = QToolButton(icon=icons.get("go-down")) self.partSettings = QStackedWidget() w = QWidget() self.addWidget(w) layout = QVBoxLayout(spacing=0) w.setLayout(layout) layout.addWidget(self.typesLabel) layout.addWidget(self.typesView) layout.addWidget(self.addButton) w = QWidget() self.addWidget(w) layout = QVBoxLayout(spacing=0) w.setLayout(layout) layout.addWidget(self.scoreLabel) layout.addWidget(self.scoreView) box = QHBoxLayout(spacing=0) layout.addLayout(box) box.addWidget(self.removeButton) box.addWidget(self.upButton) box.addWidget(self.downButton) self.addWidget(self.partSettings) self.typesView.setModel(parts.model()) app.translateUI(self) # signal connections self.addButton.clicked.connect(self.slotAddButtonClicked) self.removeButton.clicked.connect(self.slotRemoveButtonClicked) self.typesView.doubleClicked.connect(self.slotDoubleClicked) self.scoreView.currentItemChanged.connect(self.slotCurrentItemChanged) self.upButton.clicked.connect(self.scoreView.moveSelectedChildrenUp) self.downButton.clicked.connect( self.scoreView.moveSelectedChildrenDown)
def _setup_gui_labels(self): vlayout = QVBoxLayout() vlayout.setContentsMargins(0, 0, 0, 0) vlayout.setSpacing(1) self.labels_edit = QTreeView() self.labels_edit.setEditTriggers(QTreeView.CurrentChanged) self.labels_edit.setRootIsDecorated(False) self.labels_model = DictItemsModel() self.labels_edit.setModel(self.labels_model) self.labels_edit.selectionModel().selectionChanged.connect( self.on_label_selection_changed) # Necessary signals to know when the labels change self.labels_model.dataChanged.connect(self.on_labels_changed) self.labels_model.rowsInserted.connect(self.on_labels_changed) self.labels_model.rowsRemoved.connect(self.on_labels_changed) vlayout.addWidget(self.labels_edit) hlayout = QHBoxLayout() hlayout.setContentsMargins(0, 0, 0, 0) hlayout.setSpacing(1) self.add_label_action = QAction("+", self, toolTip="Add a new label.", triggered=self.on_add_label, enabled=False, shortcut=QKeySequence( QKeySequence.New)) self.remove_label_action = QAction(unicodedata.lookup("MINUS SIGN"), self, toolTip="Remove selected label.", triggered=self.on_remove_label, enabled=False, shortcut=QKeySequence( QKeySequence.Delete)) button_size = gui.toolButtonSizeHint() button_size = QSize(button_size, button_size) button = QToolButton(self) button.setFixedSize(button_size) button.setDefaultAction(self.add_label_action) hlayout.addWidget(button) button = QToolButton(self) button.setFixedSize(button_size) button.setDefaultAction(self.remove_label_action) hlayout.addWidget(button) hlayout.addStretch(10) vlayout.addLayout(hlayout) self.main_form.addRow("Labels", vlayout)
def __init__(self, finders, iface, parent=None): self.iface = iface self.mapCanvas = iface.mapCanvas() self.rubber = QgsRubberBand(self.mapCanvas) self.rubber.setColor(QColor(255, 255, 50, 200)) self.rubber.setIcon(self.rubber.ICON_CIRCLE) self.rubber.setIconSize(15) self.rubber.setWidth(4) self.rubber.setBrushStyle(Qt.NoBrush) QComboBox.__init__(self, parent) self.setEditable(True) self.setInsertPolicy(QComboBox.InsertAtTop) self.setMinimumHeight(27) self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self.insertSeparator(0) self.lineEdit().returnPressed.connect(self.search) self.resultView = QTreeView() self.resultView.setHeaderHidden(True) self.resultView.setMinimumHeight(300) self.resultView.activated.connect(self.itemActivated) self.resultView.pressed.connect(self.itemPressed) self.setView(self.resultView) self.resultModel = ResultModel(self) self.setModel(self.resultModel) self.finders = finders for finder in self.finders.values(): finder.resultFound.connect(self.resultFound) finder.limitReached.connect(self.limitReached) finder.finished.connect(self.finished) self.clearButton = QPushButton(self) self.clearButton.setIcon( QIcon(":/plugins/quickfinder/icons/draft.svg")) self.clearButton.setText('') self.clearButton.setFlat(True) self.clearButton.setCursor(QCursor(Qt.ArrowCursor)) self.clearButton.setStyleSheet('border: 0px; padding: 0px;') self.clearButton.clicked.connect(self.clear) layout = QHBoxLayout(self) self.setLayout(layout) layout.addStretch() layout.addWidget(self.clearButton) layout.addSpacing(20) buttonSize = self.clearButton.sizeHint() # frameWidth = self.lineEdit().style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth) padding = buttonSize.width() # + frameWidth + 1 self.lineEdit().setStyleSheet('QLineEdit {padding-right: %dpx; }' % padding)
def __init__(self, parent=None, **kwargs): super(AddonManagerWidget, self).__init__(parent, **kwargs) self.setLayout(QVBoxLayout()) self.__header = QLabel( wordWrap=True, textFormat=Qt.RichText ) self.__search = QLineEdit( placeholderText=self.tr("Filter") ) self.layout().addWidget(self.__search) self.__view = view = QTreeView( rootIsDecorated=False, editTriggers=QTreeView.NoEditTriggers, selectionMode=QTreeView.SingleSelection, alternatingRowColors=True ) self.__view.setItemDelegateForColumn(0, TristateCheckItemDelegate()) self.layout().addWidget(view) self.__model = model = QStandardItemModel() model.setHorizontalHeaderLabels(["", "Name", "Version", "Action"]) model.dataChanged.connect(self.__data_changed) proxy = QSortFilterProxyModel( filterKeyColumn=1, filterCaseSensitivity=Qt.CaseInsensitive ) proxy.setSourceModel(model) self.__search.textChanged.connect(proxy.setFilterFixedString) view.setModel(proxy) view.selectionModel().selectionChanged.connect( self.__update_details ) header = self.__view.header() header.setResizeMode(0, QHeaderView.Fixed) header.setResizeMode(2, QHeaderView.ResizeToContents) self.__details = QTextBrowser( frameShape=QTextBrowser.NoFrame, readOnly=True, lineWrapMode=QTextBrowser.WidgetWidth, openExternalLinks=True, ) self.__details.setWordWrapMode(QTextOption.WordWrap) palette = QPalette(self.palette()) palette.setColor(QPalette.Base, Qt.transparent) self.__details.setPalette(palette) self.layout().addWidget(self.__details)
def createWidget(self): """ Create qt widget """ self.screenResolutionLabel = QLabel(self) self.screenTapLabel = QLabel(self) mobileLayout = QVBoxLayout() self.mobileDockToolbar = QToolBar(self) self.mobileDockToolbar.setStyleSheet("QToolBar { border: 0px }"); self.mobileDockToolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) self.mobileImageLabel = QLabel(self) self.mobileImageLabel.setMouseTracking(True) self.mobileImageLabel.installEventFilter(self) self.mobileImageLabel.setScaledContents(True) self.mobileImageLabel.mousePressEvent = self.pixelSelect self.refreshCheckbox = QCheckBox("Automatic Refresh", self) self.refreshCheckbox.setEnabled(False) self.refreshCheckbox.stateChanged.connect(self.onRefreshChanged) self.clickCheckbox = QCheckBox("Enable Tap", self) self.clickCheckbox.setEnabled(False) self.model = DomModel(QDomDocument(), self) self.mobileTreeView = QTreeView(self) self.mobileTreeView.setMinimumWidth(300) self.mobileTreeView.setModel(self.model) self.mobileTreeView.clicked.connect(self.onTreeViewClicked) header=["Attribute", "Value"] self.tableModel = MyTableModel(self, [], header) self.mobileTableView = QTableView(self) self.mobileTableView.setSelectionMode(QAbstractItemView.SingleSelection) self.mobileTableView.setModel(self.tableModel) self.mobileTableView.setContextMenuPolicy(Qt.CustomContextMenu) self.mobileTableView.customContextMenuRequested.connect( self.onContextMenuEvent ) self.mobileTableView.setMinimumWidth(300) mobileViewLayout = QHBoxLayout() mobileViewLayout.addWidget(self.mobileImageLabel) mobileViewLayout.addWidget(self.mobileTreeView) mobileViewLayout.addWidget(self.mobileTableView) mobileLayout.addWidget(self.mobileDockToolbar) mobileLayout.addLayout(mobileViewLayout) self.setLayout(mobileLayout)
def __init__(self, iface, spatial_unit_dock): """ The method initializes the dockwidget. :param iface: QGIS user interface class :type class qgis.utils.iface :param plugin: The STDM plugin :type class :return: None """ from stdm.ui.entity_browser import _EntityDocumentViewerHandler DetailsDockWidget.__init__(self, iface, spatial_unit_dock) DetailsDBHandler.__init__(self) self.spatial_unit_dock = spatial_unit_dock self.view = QTreeView() self.view.setSelectionBehavior( QAbstractItemView.SelectRows ) #self.feature_ids = [] self.layer_table = None self.entity = None self.feature_models = {} self.party_models = {} self.STR_models = {} self.feature_STR_model = {} self.removed_feature = None self.selected_root = None self.model = QStandardItemModel() self.view.setModel(self.model) self.view.setUniformRowHeights(True) self.view.setRootIsDecorated(True) self.view.setAlternatingRowColors(True) self.view.setWordWrap(True) self.view.setHeaderHidden(True) self.view.setEditTriggers( QAbstractItemView.NoEditTriggers ) self.current_profile = current_profile() self.social_tenure = self.current_profile.social_tenure self.spatial_unit = self.social_tenure.spatial_unit self.party = self.social_tenure.party self.view.setMinimumWidth(250) self.doc_viewer_title = QApplication.translate( 'EntityBrowser', 'Document Viewer' ) self.doc_viewer = _EntityDocumentViewerHandler( self.doc_viewer_title, self.iface.mainWindow() )
def loadDDS(self, path): """Creates a new tab view that represents the DDS in the selected path "path" """ if path in self.pasDir: print("{0}: folder already open".format(path)) return ddsReader = DDSReader() ddsReader.parse(path) #raises error if the path do not exist or do not contain DDS self.pasDir.append(path) shortPath = re.split(r'[/\\]', path)[-1] self.ddsReader[path] = ddsReader model = PASParserTreeModel(self) model.dataChanged.connect(self.repaintViews) model.dataChanged.connect(self.updateData) self.model[path] = model proxyModel = PASParserProxyModel(self) proxyModel.setSourceModel(model) self.proxyModel[path] = proxyModel sidePanelModel = SidePanelProxyModel(self) self.sidePanelModel[path] = sidePanelModel sidePanelModel.setSourceModel(model) itemDelegate = PASParserItemDelegate(self) itemDelegate.sourceModel = model itemDelegate.proxyModel = sidePanelModel self.itemDelegate[path] = itemDelegate treeView = QTreeView() self.treeView[path] = treeView treeView.setModel(proxyModel) treeView.setColumnWidth(0, 190) treeView.setColumnWidth(1, 190) treeView.setColumnWidth(2, 50) treeView.setColumnWidth(3, 100) treeView.clicked.connect(self.constructItemChildren) treeView.setContextMenuPolicy(Qt.CustomContextMenu) treeView.customContextMenuRequested.connect(self.slot_TreeView_customContextMenuRequested) tabIndex = self.tabWidget.addTab(treeView, shortPath) # we save the full path in the toolTip we are gonna need it later (we can also use tabData) self.tabWidget.setTabToolTip(tabIndex, path) #find files whose name is a hexadecimal number indexes = ddsReader.getObjectIds() for id in indexes: PASObjectNode(id, '', '', '', ObjectData(0, self.ddsReader[path].getObject(id)), model.root) model.insertRows(0, len(indexes), QModelIndex())
def __init__(self, *args): QComboBox.__init__(self, *args) self.__skip_next_hide = False tree_view = QTreeView(self) tree_view.setHeaderHidden(True) #tree_view.setFrameShape(QFrame.NoFrame) #tree_view.setEditTriggers(tree_view.NoEditTriggers) tree_view.setAlternatingRowColors(True) tree_view.setSelectionBehavior(tree_view.SelectRows) tree_view.setWordWrap(True) #tree_view.setAllColumnsShowFocus(True) self.setView(tree_view) self.view().viewport().installEventFilter(self)
def __init__(self, data_source): super(TableView, self).__init__() self.data_source = data_source layout = QVBoxLayout() layout.setMargin(0) self.sourceView = QTreeView() self.sourceView.setRootIsDecorated(False) self.sourceView.setAlternatingRowColors(True) self.sourceView.setEditTriggers(QAbstractItemView.NoEditTriggers) self.sourceView.doubleClicked.connect(self.double_click_row) layout.addWidget(self.sourceView) self.reload() self.setLayout(layout)
def __init__(self, parent=None): super().__init__(parent) self._view = QTreeView() self._view.setItemDelegate(TaskTypeNameDelegate()) self._view.setContextMenuPolicy(Qt.CustomContextMenu) self._view.customContextMenuRequested.connect(self._open_menu) self._refresh() layout = QVBoxLayout() layout.addWidget(self._view) self.setLayout(layout) self.setWindowTitle(_('Admin.editTaskType'))
def __init__(self, *args): QDialog.__init__(self, *args) self._commandClasses = [] self._history = [''] self._historyIndex = 0 self._incompleteCommand = None self.setLayout(QVBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.layout().setSpacing(1) self._table = QTreeView(self) self._model = _CompleterModel() self._table.setModel(self._model) self._table.setItemDelegate(HTMLDelegate()) self._table.setRootIsDecorated(False) self._table.setHeaderHidden(True) self._table.clicked.connect(self._onItemClicked) self.layout().addWidget(self._table) self._edit = _CompletableLineEdit(self) self.layout().addWidget(self._edit) self._edit.updateCompletion.connect(self._updateCompletion) self._edit.enterPressed.connect(self._onEnterPressed) self._edit.historyPrevious.connect(self._onHistoryPrevious) self._edit.historyNext.connect(self._onHistoryNext) self.setFocusProxy(self._edit) width = QFontMetrics(self.font()).width('x' * 64) # width of 64 'x' letters self.resize(width, width * 0.62) self._action = core.actionManager().addAction("mNavigation/aLocator", "Locator", shortcut='Ctrl+L') self._action.triggered.connect(self._onAction) self._separator = core.actionManager().menu( "mNavigation").addSeparator() # without it action works only when main window is focused, and user can't move focus, when tree is focused self.addAction(self._action) self._loadingTimer = QTimer(self) self._loadingTimer.setSingleShot(True) self._loadingTimer.setInterval(200) self._loadingTimer.timeout.connect(self._applyLoadingCompleter) self._completerConstructorThread = None
def _setupUi(self): self.setWindowTitle(self.app.NAME) self.resize(420, 338) self.centralwidget = QWidget(self) self.verticalLayout = QVBoxLayout(self.centralwidget) self.promptLabel = QLabel( tr("Select folders to scan and press \"Scan\"."), self.centralwidget) self.verticalLayout.addWidget(self.promptLabel) self.treeView = QTreeView(self.centralwidget) self.treeView.setSelectionMode(QAbstractItemView.ExtendedSelection) self.treeView.setSelectionBehavior(QAbstractItemView.SelectRows) self.treeView.setAcceptDrops(True) triggers = QAbstractItemView.DoubleClicked|QAbstractItemView.EditKeyPressed\ |QAbstractItemView.SelectedClicked self.treeView.setEditTriggers(triggers) self.treeView.setDragDropOverwriteMode(True) self.treeView.setDragDropMode(QAbstractItemView.DropOnly) self.treeView.setUniformRowHeights(True) self.verticalLayout.addWidget(self.treeView) self.horizontalLayout = QHBoxLayout() self.removeFolderButton = QPushButton(self.centralwidget) self.removeFolderButton.setIcon(QIcon(QPixmap(":/minus"))) self.removeFolderButton.setShortcut("Del") self.horizontalLayout.addWidget(self.removeFolderButton) self.addFolderButton = QPushButton(self.centralwidget) self.addFolderButton.setIcon(QIcon(QPixmap(":/plus"))) self.horizontalLayout.addWidget(self.addFolderButton) spacerItem1 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.loadResultsButton = QPushButton(self.centralwidget) self.loadResultsButton.setText(tr("Load Results")) self.horizontalLayout.addWidget(self.loadResultsButton) self.scanButton = QPushButton(self.centralwidget) self.scanButton.setText(tr("Scan")) self.scanButton.setDefault(True) self.horizontalLayout.addWidget(self.scanButton) self.verticalLayout.addLayout(self.horizontalLayout) self.setCentralWidget(self.centralwidget) self._setupActions() self._setupMenu() if self.app.prefs.directoriesWindowRect is not None: self.setGeometry(self.app.prefs.directoriesWindowRect) else: moveToScreenCenter(self)
def __init__(self, workspace): DockWidget.__init__(self, workspace, "&Opened Files", QIcon(":/enkiicons/filtered.png"), "Alt+O") self._workspace = workspace self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.tvFiles = QTreeView(self) self.tvFiles.setHeaderHidden(True) self.tvFiles.setContextMenuPolicy(Qt.CustomContextMenu) self.tvFiles.setDragEnabled(True) self.tvFiles.setDragDropMode(QAbstractItemView.InternalMove) self.tvFiles.setRootIsDecorated(False) self.tvFiles.setTextElideMode(Qt.ElideMiddle) self.tvFiles.setUniformRowHeights(True) self.tvFiles.customContextMenuRequested.connect( self._onTvFilesCustomContextMenuRequested) self.setWidget(self.tvFiles) self.setFocusProxy(self.tvFiles) self.model = _OpenedFileModel( self) # Not protected, because used by Configurator self.tvFiles.setModel(self.model) self.tvFiles.setAttribute(Qt.WA_MacShowFocusRect, False) self.tvFiles.setAttribute(Qt.WA_MacSmallSize) self._workspace.currentDocumentChanged.connect( self._onCurrentDocumentChanged) # disconnected by startModifyModel() self.tvFiles.selectionModel().selectionChanged.connect( self._onSelectionModelSelectionChanged) self.tvFiles.activated.connect(self._workspace.focusCurrentDocument) core.actionManager().addAction("mView/aOpenedFiles", self.showAction()) core.uiSettingsManager().dialogAccepted.connect(self._applySettings) core.uiSettingsManager().aboutToExecute.connect( self._onSettingsDialogAboutToExecute)
def setupUi(): self.setObjectName("rasterlegendasensitive_dockwidget") wgt = QWidget(self) wgt.setAttribute(Qt.WA_DeleteOnClose) # gridLayout = QGridLayout(wgt) gridLayout.setContentsMargins(0, 0, gridLayout.verticalSpacing(), gridLayout.verticalSpacing()) # (iniY, iniX, spanY, spanX) = (0, 0, 1, 1) self.ckEnabled = QCheckBox("Enabled", wgt) gridLayout.addWidget(self.ckEnabled, iniY, iniX, spanY, spanX) # self.tree = QTreeView(wgt) iniY += 1 spanX = 2 gridLayout.addWidget(self.tree, iniY, iniX, spanY, spanX) # wgt.setLayout(gridLayout) self.setWidget(wgt)
def __init__(self): DockWidget.__init__(self, core.mainWindow(), '&Navigator', QIcon(':/enkiicons/goto.png'), "Alt+N") self._tags = [] self._tree = QTreeView(self) self._tree.installEventFilter(self) self._tree.setHeaderHidden(True) self.setFocusProxy(self._tree) self._filterEdit = LineEdit(self) self._filterEdit.setClearButtonVisible(True) self._filterEdit.textEdited.connect(self._applyFilter) self._filterEdit.clearButtonClicked.connect(self._applyFilter) self._filterEdit.clearButtonClicked.connect(self._tree.setFocus) self._filterEdit.clearButtonClicked.connect(self._hideFilter) self._filterEdit.installEventFilter(self) self._displayWidget = QWidget(self) layout = QVBoxLayout(self._displayWidget) layout.addWidget(self._tree) layout.addWidget(self._filterEdit) layout.setContentsMargins(0, 0, 0, 0) self.setWidget(self._displayWidget) self._tagModel = _TagModel(self._tree) self._tagModel.jumpToTagDone.connect(self._hideFilter) self._tree.setModel(self._tagModel) self._tree.activated.connect(self._tagModel.onActivated) self._tree.clicked.connect(self._tagModel.onActivated) self._tagModel.modelAboutToBeReset.connect(self._onModelAboutToBeReset) self._tagModel.modelReset.connect(self._onModelReset) self._currentTagPath = None self._errorLabel = None self._installed = False
def test_settings_model(self): store = QSettings(QSettings.IniFormat, QSettings.UserScope, "biolab.si", "Orange Canvas UnitTests") defaults = [ config_slot("S1", bool, True, "Something"), config_slot("S2", unicode, "I an not a String", "Disregard the string.") ] settings = Settings(defaults=defaults, store=store) model = UserSettingsModel(settings=settings) self.assertEqual(model.rowCount(), len(settings)) view = QTreeView() view.setHeaderHidden(False) view.setModel(model) view.show() self.app.exec_()
def __init__(self, *args): super(FileBrowser, self).__init__(*args) layout = QVBoxLayout() model = QFileSystemModel() filters = ["*.jpg", "*.JPG", "*.jpeg", "*.JPEG", "*.png", "*.PNG"] model.setNameFilters(filters) self.directoryTree = QTreeView() self.directoryTree.setModel(model) self.directoryTree.currentChanged = self.currentChanged self.directoryTree.setSortingEnabled(True) self.directoryTree.sortByColumn(0, Qt.AscendingOrder) self.fileList = QListWidget() layout.addWidget(self.directoryTree) self.setLayout(layout) root = model.setRootPath(QDir.homePath()) self.directoryTree.setRootIndex(root)
def addTree(self, opusDataPath, parentWidget): self.containerWidget = parentWidget self.opusDataPath = opusDataPath self.treeview = QTreeView() filters = QStringList() filters.append("*.*") #filters.append("*.py") #filters.append("*.shp") #filters.append("*.tif") self.model = QDirModel(filters, QDir.Files | QDir.AllDirs | QDir.NoDotAndDotDot, QDir.Name) self.treeview.setModel(self.model) if self.opusDataPath: self.treeview.setRootIndex(self.model.index(self.opusDataPath)) self.treeview.setColumnWidth(0, 200) self.treeview.hideColumn(2) self.treeview.hideColumn(3) self.containerWidget.layout().addWidget(self.treeview) # Hook up to the mousePressEvent and pressed self.treeview.setContextMenuPolicy(Qt.CustomContextMenu)
def __init__(self, data, mode, parent=None): super(GraphFormater, self).__init__(parent) self.setObjectName(u'Affichage') self.setWindowTitle(u'Options du graphique') self.data = data self.parent = parent view = QTreeView(self) view.setIndentation(10) self.model = DataModel(data, mode, self) view.setModel(self.model) VLayout = QVBoxLayout() HLayout = QHBoxLayout() allBtn = QPushButton(u'Tout cocher') noneBtn = QPushButton(u'Tout décocher') HLayout.addWidget(allBtn) HLayout.addWidget(noneBtn) self.setLayout(VLayout) VLayout.addLayout(HLayout) VLayout.addWidget(view) self.connect(self.model, SIGNAL('dataChanged(QModelIndex, QModelIndex)'), self.updateGraph) self.connect(allBtn, SIGNAL('clicked()'), self.checkAll) self.connect(noneBtn, SIGNAL('clicked()'), self.checkNone)
def __init__(self, parent): DockWidget.__init__(self, parent, "&Search Results", QIcon(":/enkiicons/search.png"), "Alt+S") # actions widget = QWidget(self) self._model = searchresultsmodel.SearchResultsModel(self) self.onResultsHandledByReplaceThread.connect( self._model.onResultsHandledByReplaceThread) self._view = QTreeView(self) self._view.setHeaderHidden(True) self._view.setUniformRowHeights(True) self._view.setModel(self._model) self._delegate = HTMLDelegate() self._view.setItemDelegate(self._delegate) self._layout = QHBoxLayout(widget) self._layout.setMargin(5) self._layout.setSpacing(5) self._layout.addWidget(self._view) self.setWidget(widget) self.setFocusProxy(self._view) # connections self._model.firstResultsAvailable.connect(self.show) self._view.activated.connect(self._onResultActivated) core.actionManager().addAction("mView/aSearchResults", self.showAction()) self._expandCollapseAll = ExpandCollapseAllButton( self.titleBarWidget(), self._view, self._model) self._checkUncheckAll = None
def __init__(self, parent=None, signalManager=None, name=" GEO Data Sets"): OWWidget.__init__(self, parent, signalManager, name) self.selectionChanged = False self.filterString = "" self.datasetName = "" ## GUI box = gui.widgetBox(self.controlArea, "Info", addSpace=True) self.infoBox = gui.widgetLabel(box, "Initializing\n\n") box = gui.widgetBox(self.controlArea, "Output", addSpace=True) gui.radioButtonsInBox(box, self, "outputRows", ["Genes in rows", "Samples in rows"], "Rows", callback=self.commitIf) gui.checkBox(box, self, "mergeSpots", "Merge spots of same gene", callback=self.commitIf) gui.separator(box) self.nameEdit = gui.lineEdit( box, self, "datasetName", "Data set name", tooltip="Override the default output data set name", callback=self.onNameEdited) self.nameEdit.setPlaceholderText("") if sys.version_info < (3, ): box = gui.widgetBox(self.controlArea, "Commit", addSpace=True) self.commitButton = gui.button(box, self, "Commit", callback=self.commit) cb = gui.checkBox(box, self, "autoCommit", "Commit on any change") gui.setStopper(self, self.commitButton, cb, "selectionChanged", self.commit) else: gui.auto_commit(self.controlArea, self, "autoCommit", "Commit", box="Commit") self.commitIf = self.commit gui.rubber(self.controlArea) gui.widgetLabel(self.mainArea, "Filter") self.filterLineEdit = QLineEdit(textChanged=self.filter) self.completer = TokenListCompleter(self, caseSensitivity=Qt.CaseInsensitive) self.filterLineEdit.setCompleter(self.completer) self.mainArea.layout().addWidget(self.filterLineEdit) splitter = QSplitter(Qt.Vertical, self.mainArea) self.mainArea.layout().addWidget(splitter) self.treeWidget = QTreeView(splitter) self.treeWidget.setSelectionMode(QTreeView.SingleSelection) self.treeWidget.setRootIsDecorated(False) self.treeWidget.setSortingEnabled(True) self.treeWidget.setAlternatingRowColors(True) self.treeWidget.setUniformRowHeights(True) self.treeWidget.setEditTriggers(QTreeView.NoEditTriggers) linkdelegate = LinkStyledItemDelegate(self.treeWidget) self.treeWidget.setItemDelegateForColumn(1, linkdelegate) self.treeWidget.setItemDelegateForColumn(8, linkdelegate) self.treeWidget.setItemDelegateForColumn( 0, gui.IndicatorItemDelegate(self.treeWidget, role=Qt.DisplayRole)) proxyModel = MySortFilterProxyModel(self.treeWidget) self.treeWidget.setModel(proxyModel) self.treeWidget.selectionModel().selectionChanged.connect( self.updateSelection) self.treeWidget.viewport().setMouseTracking(True) splitterH = QSplitter(Qt.Horizontal, splitter) box = gui.widgetBox(splitterH, "Description") self.infoGDS = gui.widgetLabel(box, "") self.infoGDS.setWordWrap(True) gui.rubber(box) box = gui.widgetBox(splitterH, "Sample Annotations") self.annotationsTree = QTreeWidget(box) self.annotationsTree.setHeaderLabels( ["Type (Sample annotations)", "Sample count"]) self.annotationsTree.setRootIsDecorated(True) box.layout().addWidget(self.annotationsTree) self.annotationsTree.itemChanged.connect( self.annotationSelectionChanged) self._annotationsUpdating = False self.splitters = splitter, splitterH for sp, setting in zip(self.splitters, self.splitterSettings): sp.splitterMoved.connect(self.splitterMoved) sp.restoreState(setting) self.searchKeys = [ "dataset_id", "title", "platform_organism", "description" ] self.gds = [] self.gds_info = None self.resize(1000, 600) self.setBlocking(True) self.setEnabled(False) self.progressBarInit() self._executor = ThreadExecutor() func = partial(get_gds_model, methodinvoke(self, "_setProgress", (float, ))) self._inittask = Task(function=func) self._inittask.finished.connect(self._initializemodel) self._executor.submit(self._inittask) self._datatask = None
def __init__(self, parent=None): QDialog.__init__(self, parent) self.resize(290, 136) self.setWindowTitle("Procedure Legs (AIXM 4.5+)") sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizePolicy) verticalLayoutDlg = QVBoxLayout(self) verticalLayoutDlg.setObjectName(("verticalLayoutDlg")) self.gbAll = GroupBox(self, "HL") self.gbAll.Caption = "Legs" verticalLayoutDlg.addWidget(self.gbAll) self.trvLegs = QTreeView(self.gbAll) self.trvLegsStdModel = StandardItemModel() self.trvLegs.setModel(self.trvLegsStdModel) self.gbAll.Add = self.trvLegs self.flowLayoutPanel1 = Frame(self.gbAll) self.gbAll.Add = self.flowLayoutPanel1 self.btnAdd = QPushButton(self.flowLayoutPanel1) icon = QIcon() icon.addPixmap(QPixmap("Resource/add.png"), QIcon.Normal, QIcon.Off) self.btnAdd.setIcon(icon) self.flowLayoutPanel1.Add = self.btnAdd self.btnRemove = QPushButton(self.flowLayoutPanel1) icon = QIcon() icon.addPixmap(QPixmap("Resource/remove.png"), QIcon.Normal, QIcon.Off) self.btnRemove.setIcon(icon) self.flowLayoutPanel1.Add = self.btnRemove self.btnMoveUp = QPushButton(self.flowLayoutPanel1) icon = QIcon() icon.addPixmap(QPixmap("Resource/up.png"), QIcon.Normal, QIcon.Off) self.btnMoveUp.setIcon(icon) self.flowLayoutPanel1.Add = self.btnMoveUp self.btnMoveDown = QPushButton(self.flowLayoutPanel1) icon = QIcon() icon.addPixmap(QPixmap("Resource/down.png"), QIcon.Normal, QIcon.Off) self.btnMoveDown.setIcon(icon) self.flowLayoutPanel1.Add = self.btnMoveDown self.scrollBox = Frame(self.gbAll) self.gbAll.Add = self.scrollBox self.gbPosition = GroupBox(self.scrollBox) self.gbPosition.Caption = "Fix" self.scrollBox.Add = self.gbPosition self.cmbPosUid = ComboBoxPanel(self.gbPosition) self.cmbPosUid.Caption = "Position" self.cmbPosUid.Button = "coordinate_capture.png" self.gbPosition.Add = self.cmbPosUid self.gbAttributes = GroupBox(self.scrollBox) self.gbAttributes.Caption = "Attributes" self.scrollBox.Add = self.gbAttributes self.pnlPathType = ComboBoxPanel(self.gbAttributes) self.pnlPathType.Caption = "Path Type" self.gbAttributes.Add = self.pnlPathType self.pnlLegType = ComboBoxPanel(self.gbAttributes) self.pnlLegType.Caption = "Leg Type" self.gbAttributes.Add = self.pnlLegType self.cmbCenUid = ComboBoxPanel(self.gbAttributes) self.cmbCenUid.Caption = "Center" self.cmbCenUid.Button = "coordinate_capture.png" self.gbAttributes.Add = self.cmbCenUid self.pnlFlyBy = ComboBoxPanel(self.gbAttributes) self.pnlFlyBy.Caption = "Fly-By" self.gbAttributes.Add = self.pnlFlyBy self.pnlMinAlt = AltitudeBoxPanel(self.gbAttributes) self.pnlMinAlt.CaptionUnits = "ft" self.pnlMinAlt.Caption = "Minimum Altitude" self.gbAttributes.Add = self.pnlMinAlt self.pnlSegLength = DistanceBoxPanel(self.gbAttributes, DistanceUnits.NM) self.pnlSegLength.Caption = "Segment Length" self.gbAttributes.Add = self.pnlSegLength self.pnlCourse = TrackRadialBoxPanel(self.gbAttributes) self.pnlCourse.Caption = "Course" self.gbAttributes.Add = self.pnlCourse self.pnlLegVOR = Frame(self.gbAttributes) self.gbAttributes.Add = self.pnlLegVOR f1 = Frame(self.pnlLegVOR, "HL") self.pnlLegVOR.Add = f1 self.cmbLegVor = ComboBoxPanel(f1) self.cmbLegVor.Caption = "VOR / Radial (" + define._degreeStr + ")" f1.Add = self.cmbLegVor self.txtLegRadial = TrackRadialBoxPanel(f1) self.txtLegRadial.Caption = "" self.txtLegRadial.LabelWidth = 0 f1.Add = self.txtLegRadial f2 = Frame(self.pnlLegVOR, "HL") self.pnlLegVOR.Add = f2 self.cmbLegBackVor = ComboBoxPanel(f2) self.cmbLegBackVor.Caption = "Reverse VOR / Radial (" + define._degreeStr + ")" f2.Add = self.cmbLegBackVor self.txtLegBackRadial = TrackRadialBoxPanel(f2) self.txtLegBackRadial.Caption = "" self.txtLegBackRadial.LabelWidth = 0 f2.Add = self.txtLegBackRadial self.pnlPointType = ComboBoxPanel(self.gbAttributes) self.pnlPointType.Caption = "Point Type" self.gbAttributes.Add = self.pnlPointType self.pnlRepPointType = ComboBoxPanel(self.gbAttributes) self.pnlRepPointType.Caption = "Reporting Point Type" self.gbAttributes.Add = self.pnlRepPointType self.pnlPointVor = Frame(self.gbAttributes) self.gbAttributes.Add = self.pnlPointVor frame1 = Frame(self.pnlPointVor, "HL") self.pnlPointVor.Add = frame1 self.cmbPointVor = ComboBoxPanel(frame1) self.cmbPointVor.Caption = "Point VOR / Radial (" + define._degreeStr + ")" frame1.Add = self.cmbPointVor self.txtPointRadial = TrackRadialBoxPanel(frame1) self.txtPointRadial.Caption = "" self.txtPointRadial.LabelWidth = 0 frame1.Add = self.txtPointRadial frame2 = Frame(self.pnlPointVor, "HL") self.pnlPointVor.Add = frame2 self.cmbPointDme1 = ComboBoxPanel(frame2) self.cmbPointDme1.Caption = "Point 1. DME / Distance (nm)" frame2.Add = self.cmbPointDme1 self.txtPointDme1 = DistanceBoxPanel(frame2, DistanceUnits.NM) self.txtPointDme1.Caption = "" self.txtPointDme1.LabelWidth = 0 frame2.Add = self.txtPointDme1 frame3 = Frame(self.pnlPointVor, "HL") self.pnlPointVor.Add = frame3 self.cmbPointDme2 = ComboBoxPanel(frame3) self.cmbPointDme2.Caption = "Point 2. DME / Distance (nm)" frame3.Add = self.cmbPointDme2 self.txtPointDme2 = DistanceBoxPanel(frame3, DistanceUnits.NM) self.txtPointDme2.Caption = "" self.txtPointDme2.LabelWidth = 0 frame3.Add = self.txtPointDme2 self.txtFlyDuration = TextBoxPanel(self.pnlPointVor, True) self.txtFlyDuration.Caption = "Flying Time Duration" self.pnlPointVor.Add = self.txtFlyDuration self.txtRemarks = TextBoxPanel(self.pnlPointVor, True) self.txtRemarks.Caption = "Remarks" self.pnlPointVor.Add = self.txtRemarks self.btnBoxOkCancel = QDialogButtonBox(self) self.btnBoxOkCancel.setObjectName(("btnBoxOkCancel")) self.btnBoxOkCancel.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) self.connect(self.btnBoxOkCancel, SIGNAL("accepted()"), self.acceptDlg) self.connect(self.btnBoxOkCancel, SIGNAL("rejected()"), self.reject) self.btnAdd.clicked.connect(self.btnAdd_Click) self.btnMoveDown.clicked.connect(self.btnMoveDown_Click) self.btnMoveUp.clicked.connect(self.btnMoveUp_Click) self.btnRemove.clicked.connect(self.btnRemove_Click) verticalLayoutDlg.addWidget(self.btnBoxOkCancel) self.trvLegs.pressed.connect(self.trvLegs_pressed) self.data = None self.legs = None self.aerodrome = None self.magnVar = 0.0 self.trvLegs.setHeaderHidden(True) self.pnlPointType.Items = ["IAF", "IF", "FAF", "FAP", "MAPt", "TP"] for value in CodeLegTypeAixm.Items: self.pnlLegType.Add(value) for value in CodePathTypeAixm.Items: self.pnlPathType.Add(value) for value in CodeRepAtcAixm.Items: self.pnlRepPointType.Add(value) for value in CodeTypeFlyByAixm.Items: self.pnlFlyBy.Add(value) self.method_6() self.connect(self.txtRemarks, SIGNAL("Event_0"), self.txtRemarks_Event_0) self.connect(self.txtPointDme2, SIGNAL("Event_0"), self.txtPointDme2_Event_0) self.connect(self.cmbPointDme2, SIGNAL("Event_0"), self.cmbPointDme2_Event_0) self.connect(self.txtPointDme1, SIGNAL("Event_0"), self.txtPointDme1_Event_0) self.connect(self.cmbPointDme1, SIGNAL("Event_0"), self.cmbPointDme1_Event_0) self.connect(self.cmbPointVor, SIGNAL("Event_0"), self.cmbPointVor_Event_0) self.connect(self.txtPointRadial, SIGNAL("Event_0"), self.txtPointRadial_Event_0) self.connect(self.txtFlyDuration, SIGNAL("Event_0"), self.txtFlyDuration_Event_0) self.connect(self.pnlRepPointType, SIGNAL("Event_0"), self.pnlRepPointType_Event_0) self.connect(self.pnlPointType, SIGNAL("Event_0"), self.pnlPointType_Event_0) self.connect(self.txtLegBackRadial, SIGNAL("Event_0"), self.txtLegBackRadial_Event_0) self.connect(self.cmbLegBackVor, SIGNAL("Event_0"), self.cmbLegBackVor_Event_0) self.connect(self.cmbLegVor, SIGNAL("Event_0"), self.cmbLegVor_Event_0) self.connect(self.txtLegRadial, SIGNAL("Event_0"), self.txtLegRadial_Event_0) self.connect(self.pnlCourse, SIGNAL("Event_0"), self.pnlCourse_Event_0) self.connect(self.pnlSegLength, SIGNAL("Event_0"), self.pnlSegLength_Event_0) self.connect(self.pnlMinAlt, SIGNAL("Event_0"), self.pnlMinAlt_Event_0) self.connect(self.pnlFlyBy, SIGNAL("Event_0"), self.pnlFlyBy_Event_0) self.connect(self.cmbCenUid, SIGNAL("Event_0"), self.cmbCenUid_Event_0) self.connect(self.pnlLegType, SIGNAL("Event_0"), self.pnlLegType_Event_0) self.connect(self.pnlPathType, SIGNAL("Event_0"), self.pnlPathType_Event_0) self.connect(self.cmbPosUid, SIGNAL("Event_0"), self.cmbPosUid_Event_0) self.connect(self.cmbCenUid, SIGNAL("Event_3"), self.method_14) self.connect(self.cmbPosUid, SIGNAL("Event_3"), self.method_13)
def __init__(self): super().__init__() self.data = None self.test_data = None self.preprocessor = None self.train_data_missing_vals = False self.test_data_missing_vals = False #: An Ordered dictionary with current inputs and their testing results. self.learners = OrderedDict() sbox = gui.vBox(self.controlArea, "Sampling") rbox = gui.radioButtons(sbox, self, "resampling", callback=self._param_changed) gui.appendRadioButton(rbox, "Cross validation") ibox = gui.indentedBox(rbox) gui.spin(ibox, self, "k_folds", 2, 50, label="Number of folds:", callback=self.kfold_changed) gui.checkBox(ibox, self, "cv_stratified", "Stratified", callback=self.kfold_changed) gui.appendRadioButton(rbox, "Random sampling") ibox = gui.indentedBox(rbox) gui.spin(ibox, self, "n_repeat", 2, 50, label="Repeat train/test:", callback=self.shuffle_split_changed) gui.widgetLabel(ibox, "Relative training set size:") gui.hSlider(ibox, self, "sample_p", minValue=1, maxValue=99, ticks=20, vertical=False, labelFormat="%d %%", callback=self.shuffle_split_changed) gui.checkBox(ibox, self, "shuffle_stratified", "Stratified", callback=self.shuffle_split_changed) gui.appendRadioButton(rbox, "Leave one out") gui.appendRadioButton(rbox, "Test on train data") gui.appendRadioButton(rbox, "Test on test data") rbox.layout().addSpacing(5) self.apply_button = gui.button(rbox, self, "&Apply", callback=self.apply, default=True) self.cbox = gui.vBox(self.controlArea, "Target Class") self.class_selection_combo = gui.comboBox( self.cbox, self, "class_selection", items=[], sendSelectedValue=True, valueType=str, callback=self._on_target_class_changed, contentsLength=8) gui.rubber(self.controlArea) self.view = QTreeView(rootIsDecorated=False, uniformRowHeights=True, wordWrap=True, editTriggers=QTreeView.NoEditTriggers) header = self.view.header() header.setResizeMode(QHeaderView.ResizeToContents) header.setDefaultAlignment(Qt.AlignCenter) header.setStretchLastSection(False) self.result_model = QStandardItemModel(self) self.result_model.setHorizontalHeaderLabels(["Method"]) self.view.setModel(self.result_model) self.view.setItemDelegate(ItemDelegate()) box = gui.vBox(self.mainArea, "Evaluation Results") box.layout().addWidget(self.view)