def __init__(self, parent, distanceUnit, distanceUnit1 = None): QWidget.__init__(self, parent) while not isinstance(parent, QDialog): parent = parent.parent() self.setObjectName("DistanceBoxPanel" + str(len(parent.findChildren(DistanceBoxPanel)))) self.distanceUnit = distanceUnit self.distanceUnit1 = distanceUnit1 self.hLayoutBoxPanel = QHBoxLayout(self) self.hLayoutBoxPanel.setSpacing(0) self.hLayoutBoxPanel.setContentsMargins(0,0,0,0) self.hLayoutBoxPanel.setObjectName(("hLayoutBoxPanel")) self.frameBoxPanel = QFrame(self) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.frameBoxPanel.sizePolicy().hasHeightForWidth()) self.frameBoxPanel.setSizePolicy(sizePolicy) self.frameBoxPanel.setFrameShape(QFrame.NoFrame) self.frameBoxPanel.setFrameShadow(QFrame.Raised) self.frameBoxPanel.setObjectName(("frameBoxPanel")) self.hLayoutframeBoxPanel = QHBoxLayout(self.frameBoxPanel) self.hLayoutframeBoxPanel.setSpacing(0) self.hLayoutframeBoxPanel.setMargin(0) self.hLayoutframeBoxPanel.setObjectName(("hLayoutframeBoxPanel")) self.captionLabel = QLabel(self.frameBoxPanel) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.captionLabel.sizePolicy().hasHeightForWidth()) self.captionLabel.setSizePolicy(sizePolicy) self.captionLabel.setMinimumSize(QSize(200, 0)) self.captionLabel.setMaximumSize(QSize(200, 16777215)) font = QFont() font.setBold(False) font.setWeight(50) self.captionLabel.setFont(font) self.captionLabel.setObjectName(("captionLabel")) self.hLayoutframeBoxPanel.addWidget(self.captionLabel) self.frameBoxPanelIn = QFrame(self.frameBoxPanel) self.frameBoxPanelIn.setFrameShape(QFrame.StyledPanel) self.frameBoxPanelIn.setFrameShadow(QFrame.Raised) self.frameBoxPanelIn.setObjectName(("frameBoxPanelIn")) self.hLayoutframeBoxPanelIn = QHBoxLayout(self.frameBoxPanelIn) self.hLayoutframeBoxPanelIn.setSpacing(0) self.hLayoutframeBoxPanelIn.setMargin(0) self.hLayoutframeBoxPanelIn.setObjectName(("hLayoutframeBoxPanelIn")) self.txtDistance = QLineEdit(self.frameBoxPanelIn) self.txtDistance.setEnabled(True) font = QFont() font.setBold(False) font.setWeight(50) self.txtDistance.setFont(font) self.txtDistance.setObjectName(self.objectName() + "_txtDistance") self.txtDistance.setText("0.0") self.txtDistance.setMinimumWidth(70) self.txtDistance.setMaximumWidth(70) self.hLayoutframeBoxPanelIn.addWidget(self.txtDistance) if self.distanceUnit1 != None: labelM = QLabel(self.frameBoxPanelIn) labelM.setObjectName(("labelM")) value = "" if self.distanceUnit == DistanceUnits.NM: value = " nm " elif self.distanceUnit == DistanceUnits.M: value = " m " elif self.distanceUnit == DistanceUnits.KM: value = " km " elif self.distanceUnit == DistanceUnits.FT: value = " ft " elif self.distanceUnit == DistanceUnits.MM: value = " mm " else: value = "" labelM.setText(value) self.hLayoutframeBoxPanelIn.addWidget(labelM) self.txtDistance1 = QLineEdit(self.frameBoxPanelIn) self.txtDistance1.setEnabled(True) font = QFont() font.setBold(False) font.setWeight(50) self.txtDistance1.setFont(font) self.txtDistance1.setObjectName(self.objectName() + "_txtDistance1") self.txtDistance1.setText("0.0") self.txtDistance1.setMinimumWidth(70) self.txtDistance1.setMaximumWidth(70) self.txtDistance1.setText("0.0") self.hLayoutframeBoxPanelIn.addWidget(self.txtDistance1) label1 = QLabel(self.frameBoxPanelIn) label1.setObjectName(("labelFt")) value = "" if self.distanceUnit1 == DistanceUnits.NM: value = " nm " elif self.distanceUnit1 == DistanceUnits.M: value = " m " elif self.distanceUnit1 == DistanceUnits.KM: value = " km " elif self.distanceUnit1 == DistanceUnits.FT: value = " ft " elif self.distanceUnit1 == DistanceUnits.MM: value = " mm " else: value = "" label1.setText(value) self.hLayoutframeBoxPanelIn.addWidget(label1) # self.txtDistance.textChanged.connect(self.txtDistanceChanged) self.txtDistance1.textChanged.connect(self.txtDistance1Changed) self.txtDistance1.editingFinished.connect(self.txtDistanceEditingFinished) self.btnCaptureDistance = QToolButton(self.frameBoxPanelIn) self.btnCaptureDistance.setText(("")) icon = QIcon() icon.addPixmap(QPixmap(("Resource/coordinate_capture.png")), QIcon.Normal, QIcon.Off) self.btnCaptureDistance.setIcon(icon) self.btnCaptureDistance.setObjectName(("btnDegreeBoxPanel")) self.hLayoutframeBoxPanelIn.addWidget(self.btnCaptureDistance) self.hLayoutframeBoxPanel.addWidget(self.frameBoxPanelIn) self.hLayoutBoxPanel.addWidget(self.frameBoxPanel) spacerItem = QSpacerItem(10,10,QSizePolicy.Expanding, QSizePolicy.Minimum) self.hLayoutBoxPanel.addItem(spacerItem) self.txtDistance.textChanged.connect(self.txtDistanceChanged) self.txtDistance.editingFinished.connect(self.txtDistanceEditingFinished) self.btnCaptureDistance.clicked.connect(self.btnCaptureDistanceClicked) # self.value = 0.0 self.flag = 0 self.txtDistance.setText("0.0")
def __createProjectSpecific(self): " Creates the project specific part " widget = QWidget() verticalLayout = QVBoxLayout(widget) infoLabel = QLabel("Note: the settings below are used " "only for the specific project.") verticalLayout.addWidget(infoLabel) # Authorization group box authGroupbox = QGroupBox(self) authGroupbox.setTitle("Authorization") sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( authGroupbox.sizePolicy().hasHeightForWidth()) authGroupbox.setSizePolicy(sizePolicy) layoutAuth = QVBoxLayout(authGroupbox) self.__projectAuthExtRButton = QRadioButton("External", authGroupbox) self.__projectAuthExtRButton.clicked.connect(self.__projectAuthChanged) layoutAuth.addWidget(self.__projectAuthExtRButton) self.__projectAuthPasswdRButton = QRadioButton( "Use user name / password", authGroupbox) self.__projectAuthPasswdRButton.clicked.connect( self.__projectAuthChanged) layoutAuth.addWidget(self.__projectAuthPasswdRButton) upLayout = QGridLayout() self.__projectUser = QLineEdit() self.__projectUser.setToolTip("Attention: user name is " "saved unencrypted") self.__projectPasswd = QLineEdit() self.__projectPasswd.setToolTip("Attention: password is " "saved unencrypted") spacer = QWidget() spacer.setFixedWidth(16) upLayout.addWidget(spacer, 0, 0) upLayout.addWidget(QLabel("User name"), 0, 1) upLayout.addWidget(self.__projectUser, 0, 2) upLayout.addWidget(QLabel("Password"), 1, 1) upLayout.addWidget(self.__projectPasswd, 1, 2) layoutAuth.addLayout(upLayout) # Update status group box updateGroupbox = QGroupBox(self) updateGroupbox.setTitle("Update status policy") sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( updateGroupbox.sizePolicy().hasHeightForWidth()) updateGroupbox.setSizePolicy(sizePolicy) layoutUpdate = QVBoxLayout(updateGroupbox) self.__projectReposRButton = QRadioButton("Check repository", updateGroupbox) layoutUpdate.addWidget(self.__projectReposRButton) self.__projectLocalRButton = QRadioButton("Local only", updateGroupbox) layoutUpdate.addWidget(self.__projectLocalRButton) verticalLayout.addWidget(authGroupbox) verticalLayout.addWidget(updateGroupbox) return widget
def __init__(self): super().__init__() self.in_data = None self.in_distance = None self.in_learner = None self.in_classifier = None self.in_object = None self.auto_execute = False for s in self.libraryListSource: s.flags = 0 self._cachedDocuments = {} self.infoBox = gui.widgetBox(self.controlArea, 'Info') gui.label( self.infoBox, self, "<p>Execute python script.</p><p>Input variables:<ul><li> " + \ "<li>".join(t.name for t in self.inputs) + \ "</ul></p><p>Output variables:<ul><li>" + \ "<li>".join(t.name for t in self.outputs) + \ "</ul></p>" ) self.libraryList = itemmodels.PyListModel( [], self, flags=Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsEditable) self.libraryList.wrap(self.libraryListSource) self.controlBox = gui.widgetBox(self.controlArea, 'Library') self.controlBox.layout().setSpacing(1) self.libraryView = QListView( editTriggers=QListView.DoubleClicked | QListView.EditKeyPressed, sizePolicy=QSizePolicy(QSizePolicy.Ignored, QSizePolicy.Preferred) ) self.libraryView.setItemDelegate(ScriptItemDelegate(self)) self.libraryView.setModel(self.libraryList) self.libraryView.selectionModel().selectionChanged.connect( self.onSelectedScriptChanged ) self.controlBox.layout().addWidget(self.libraryView) w = itemmodels.ModelActionsWidget() self.addNewScriptAction = action = QAction("+", self) action.setToolTip("Add a new script to the library") action.triggered.connect(self.onAddScript) w.addAction(action) action = QAction(unicodedata.lookup("MINUS SIGN"), self) action.setToolTip("Remove script from library") action.triggered.connect(self.onRemoveScript) w.addAction(action) action = QAction("Update", self) action.setToolTip("Save changes in the editor to library") action.setShortcut(QKeySequence(QKeySequence.Save)) action.triggered.connect(self.commitChangesToLibrary) w.addAction(action) action = QAction("More", self, toolTip="More actions") new_from_file = QAction("Import a script from a file", self) save_to_file = QAction("Save selected script to a file", self) save_to_file.setShortcut(QKeySequence(QKeySequence.SaveAs)) new_from_file.triggered.connect(self.onAddScriptFromFile) save_to_file.triggered.connect(self.saveScript) menu = QMenu(w) menu.addAction(new_from_file) menu.addAction(save_to_file) action.setMenu(menu) button = w.addAction(action) button.setPopupMode(QToolButton.InstantPopup) w.layout().setSpacing(1) self.controlBox.layout().addWidget(w) self.runBox = gui.widgetBox(self.controlArea, 'Run') gui.button(self.runBox, self, "Execute", callback=self.execute) gui.checkBox(self.runBox, self, "auto_execute", "Auto execute", tooltip="Run the script automatically whenever " + "the inputs to the widget change.") self.splitCanvas = QSplitter(Qt.Vertical, self.mainArea) self.mainArea.layout().addWidget(self.splitCanvas) self.defaultFont = defaultFont = \ "Monaco" if sys.platform == "darwin" else "Courier" self.textBox = gui.widgetBox(self, 'Python script') self.splitCanvas.addWidget(self.textBox) self.text = PythonScriptEditor(self) self.textBox.layout().addWidget(self.text) self.textBox.setAlignment(Qt.AlignVCenter) self.text.setTabStopWidth(4) self.text.modificationChanged[bool].connect(self.onModificationChanged) self.saveAction = action = QAction("&Save", self.text) action.setToolTip("Save script to file") action.setShortcut(QKeySequence(QKeySequence.Save)) action.setShortcutContext(Qt.WidgetWithChildrenShortcut) action.triggered.connect(self.saveScript) self.consoleBox = gui.widgetBox(self, 'Console') self.splitCanvas.addWidget(self.consoleBox) self.console = PythonConsole(self.__dict__, self) self.consoleBox.layout().addWidget(self.console) self.console.document().setDefaultFont(QFont(defaultFont)) self.consoleBox.setAlignment(Qt.AlignBottom) self.console.setTabStopWidth(4) select_row(self.libraryView, self.currentScriptIndex) self.splitCanvas.setSizes([2, 1]) if self.splitterState is not None: self.splitCanvas.restoreState(QByteArray(self.splitterState)) self.splitCanvas.splitterMoved[int, int].connect(self.onSpliterMoved) self.controlArea.layout().addStretch(1) self.resize(800, 600)
new_dialog = QDialog() new_dialog.resize(200, 100) scroll_area = QScrollArea(new_dialog) scroll_area.setFrameShape(QFrame.NoFrame) scroll_area.setFrameShadow(QFrame.Plain) scroll_area.setWidgetResizable(True) scroll_area.setGeometry(QRect(10, 20, 170, 70)) scrollAreaWidgetContents = QWidget() scrollAreaWidgetContents.setGeometry(QRect(0, 0, 170, 70)) vertical_layout = QVBoxLayout(scrollAreaWidgetContents) collapsible_group_box = QgsCollapsibleGroupBox(scrollAreaWidgetContents) collapsible_group_box.setTitle('Collapsible') sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( collapsible_group_box.sizePolicy().hasHeightForWidth()) collapsible_group_box.setSizePolicy(sizePolicy) collapsible_group_box.setChecked(False) vbox_layout = QVBoxLayout(collapsible_group_box) line_edit = QLineEdit(collapsible_group_box) line_edit.setGeometry(QRect(10, 20, 110, 30)) vertical_layout.addWidget(collapsible_group_box) scroll_area.setWidget(scrollAreaWidgetContents) new_dialog.show()
def _generate_widgets(self): ''' Iterate over all templated nodes and create a field (hidden or with a widget) for each. Note that the behavior is undefined when multiple nodes have the same field_identifier but different node types. ''' self.data_extractors = { } # value extracting method for each field identifier self.widgets = [] # list of widgets to populate the GUI with # sizing policies for the generated widgets label_size_policy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.MinimumExpanding) widget_size_policy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum) description_size_policy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) def get_widget_label(text): ''' Helper to generate a QLabel containing the given text ''' l = QtGui.QLabel(field_id) l.setMinimumWidth(100) l.setSizePolicy(label_size_policy) return l # Remove the existing widgets. PyQt is buggy about removing dynamic widgets, # so we need to explicitly call deleteLater() and 'del' the Python objects while self.dynamic_widgets.count() > 0: item = self.dynamic_widgets.takeAt(0) widget = item.widget() widget.hide() widget.deleteLater() del widget del item prev_widget = self.le_project_filename # prev_widget is used to link the tab order of widgets # create a widget for each field_identifier for field_id, nodes in self.fields_to_nodes.items(): # pick the first node out of the list of nodes for this field identifier (there are at least one) node = nodes[0] current_row = len( self.widgets ) # keep track of where to insert widgets (top to bottom) # get a suitable widget and a data-extrating method for the node widget, data_extractor = self._get_widget_and_method_from_node_type( node) self.data_extractors[ field_id] = data_extractor # map the field_identifier to the data extractor label = get_widget_label(field_id) self.dynamic_widgets.addWidget(label, current_row, 0) widget.setSizePolicy(widget_size_policy ) # make the widget expand to fill it's space self.dynamic_widgets.addWidget(widget, current_row, 1) # set the tab order so we get a nice tab flow between fields self.setTabOrder(prev_widget, widget) prev_widget = widget # an information widget is created if the templated node contains the optional field_description # argument was given field_description = node.get('field_description') if field_description: description_label = QtGui.QLabel() description_label.setSizePolicy(description_size_policy) description_label.setPixmap( IconLibrary.icon('info_small').pixmap(32, 32)) desc = '<qt><b>%s</b><br/>%s</qt>' % (field_id, field_description) description_label.setToolTip(desc) self.dynamic_widgets.addWidget(description_label, current_row, 2) else: description_label = None self.widgets.append(widget)
def __init__(self, parent=None): QWidget.__init__(self, parent) while not isinstance(parent, QDialog): parent = parent.parent() self.setObjectName("RnavTolerancesPanel" + str(len(parent.findChildren(RnavTolerancesPanel)))) self.resize(380, 90) horizontalLayout = QHBoxLayout(self) horizontalLayout.setSpacing(0) horizontalLayout.setMargin(0) horizontalLayout.setObjectName(("horizontalLayout")) self.basicFrame = Frame(self, "HL") horizontalLayout.addWidget(self.basicFrame) frame_2 = QFrame(self.basicFrame) frame_2.setFrameShape(QFrame.StyledPanel) frame_2.setFrameShadow(QFrame.Raised) frame_2.setObjectName(("frame_2")) verticalLayout_3 = QVBoxLayout(frame_2) verticalLayout_3.setSpacing(3) verticalLayout_3.setMargin(0) verticalLayout_3.setObjectName(("verticalLayout_3")) self.frame_Att = QFrame(frame_2) self.frame_Att.setFrameShape(QFrame.NoFrame) self.frame_Att.setFrameShadow(QFrame.Raised) self.frame_Att.setObjectName(("self.frame_Att")) horizontalLayout_70 = QHBoxLayout(self.frame_Att) horizontalLayout_70.setSpacing(0) horizontalLayout_70.setMargin(0) horizontalLayout_70.setObjectName(("horizontalLayout_70")) self.label_78 = QLabel(self.frame_Att) self.label_78.setMinimumSize(QSize(100, 0)) self.label_78.setMaximumSize(QSize(100, 2222222)) font = QFont() font.setBold(False) font.setWeight(50) self.label_78.setFont(font) self.label_78.setObjectName(("self.label_78")) horizontalLayout_70.addWidget(self.label_78) frame_APV_12 = QFrame(self.frame_Att) frame_APV_12.setFrameShape(QFrame.StyledPanel) frame_APV_12.setFrameShadow(QFrame.Raised) frame_APV_12.setObjectName(("frame_APV_12")) horizontalLayout_16 = QHBoxLayout(frame_APV_12) horizontalLayout_16.setSpacing(0) horizontalLayout_16.setMargin(0) horizontalLayout_16.setObjectName(("horizontalLayout_16")) self.txtAtt = QLineEdit(frame_APV_12) self.txtAtt.setEnabled(True) font = QFont() font.setBold(False) font.setWeight(50) self.txtAtt.setFont(font) self.txtAtt.setObjectName( "RnavTolerancesPaneAttLineEdit" + str(len(parent.findChildren(RnavTolerancesPanel)))) # self.txtAtt.setObjectName(("self.txtAtt")) horizontalLayout_16.addWidget(self.txtAtt) horizontalLayout_70.addWidget(frame_APV_12) verticalLayout_3.addWidget(self.frame_Att) self.frame_Xtt = QFrame(frame_2) self.frame_Xtt.setFrameShape(QFrame.NoFrame) self.frame_Xtt.setFrameShadow(QFrame.Raised) self.frame_Xtt.setObjectName(("frame_Xtt")) horizontalLayout_72 = QHBoxLayout(self.frame_Xtt) horizontalLayout_72.setSpacing(0) horizontalLayout_72.setMargin(0) horizontalLayout_72.setObjectName(("horizontalLayout_72")) self.label_80 = QLabel(self.frame_Xtt) self.label_80.setMinimumSize(QSize(100, 0)) self.label_80.setMaximumSize(QSize(100, 2222222)) font = QFont() font.setBold(False) font.setWeight(50) self.label_80.setFont(font) self.label_80.setObjectName(("label_80")) horizontalLayout_72.addWidget(self.label_80) frame_APV_14 = QFrame(self.frame_Xtt) frame_APV_14.setFrameShape(QFrame.StyledPanel) frame_APV_14.setFrameShadow(QFrame.Raised) frame_APV_14.setObjectName(("frame_APV_14")) horizontalLayout_18 = QHBoxLayout(frame_APV_14) horizontalLayout_18.setSpacing(0) horizontalLayout_18.setMargin(0) horizontalLayout_18.setObjectName(("horizontalLayout_18")) self.txtXtt = QLineEdit(frame_APV_14) self.txtXtt.setEnabled(True) font = QFont() font.setBold(False) font.setWeight(50) self.txtXtt.setFont(font) self.txtXtt.setObjectName( "RnavTolerancesPaneXttLineEdit" + str(len(parent.findChildren(RnavTolerancesPanel)))) # self.txtXtt.setObjectName(("self.txtXtt")) horizontalLayout_18.addWidget(self.txtXtt) horizontalLayout_72.addWidget(frame_APV_14) verticalLayout_3.addWidget(self.frame_Xtt) self.frame_Asw = QFrame(frame_2) self.frame_Asw.setFrameShape(QFrame.NoFrame) self.frame_Asw.setFrameShadow(QFrame.Raised) self.frame_Asw.setObjectName(("frame_Asw")) horizontalLayout_71 = QHBoxLayout(self.frame_Asw) horizontalLayout_71.setSpacing(0) horizontalLayout_71.setMargin(0) horizontalLayout_71.setObjectName(("horizontalLayout_71")) self.label_79 = QLabel(self.frame_Asw) self.label_79.setMinimumSize(QSize(100, 0)) self.label_79.setMaximumSize(QSize(100, 2222222)) font = QFont() font.setBold(False) font.setWeight(50) self.label_79.setFont(font) self.label_79.setObjectName(("label_79")) horizontalLayout_71.addWidget(self.label_79) frame_APV_13 = QFrame(self.frame_Asw) frame_APV_13.setFrameShape(QFrame.StyledPanel) frame_APV_13.setFrameShadow(QFrame.Raised) frame_APV_13.setObjectName(("frame_APV_13")) horizontalLayout_17 = QHBoxLayout(frame_APV_13) horizontalLayout_17.setSpacing(0) horizontalLayout_17.setMargin(0) horizontalLayout_17.setObjectName(("horizontalLayout_17")) self.txtAsw = QLineEdit(frame_APV_13) self.txtAsw.setEnabled(True) font = QFont() font.setBold(False) font.setWeight(50) self.txtAsw.setFont(font) self.txtAsw.setObjectName( "RnavTolerancesPaneAswLineEdit" + str(len(parent.findChildren(RnavTolerancesPanel)))) # self.txtAsw.setObjectName(("self.txtAsw")) horizontalLayout_17.addWidget(self.txtAsw) horizontalLayout_71.addWidget(frame_APV_13) verticalLayout_3.addWidget(self.frame_Asw) self.basicFrame.Add = frame_2 self.btnDropDown = QToolButton(self) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.btnDropDown.sizePolicy().hasHeightForWidth()) self.btnDropDown.setSizePolicy(sizePolicy) self.btnDropDown.setMinimumSize(QSize(0, 0)) self.btnDropDown.setMaximumSize(QSize(16777215, 16777215)) self.btnDropDown.setText(("")) self.btnDropDown.setObjectName(("btnDropDown")) icon1 = QIcon() icon1.addPixmap(QPixmap("Resource/sort2.png"), QIcon.Normal, QIcon.Off) self.btnDropDown.setIcon(icon1) self.basicFrame.Add = self.btnDropDown self.setLayout(horizontalLayout) spacerItem = QSpacerItem(10, 10, QSizePolicy.Expanding, QSizePolicy.Minimum) horizontalLayout.addItem(spacerItem) self.label_78.setText("ATT (nm):") # .self.txtAtt.setText(_translate("Form", "180", None)) self.label_80.setText("XTT (nm):") # .self.txtXtt.setText(_translate("Form", "180", None)) self.label_79.setText("1/2 A/W (nm):") # .self.txtAsw.setText(_translate("Form", "180", None)) self.hasAtt = True self.hasXtt = True self.hasAsw = True self.vorDmeVisible = False self.dmeDmeVisible = False self.btnDropDown.clicked.connect(self.btnDropDown_Click) self.selectedActionText = ""
def __init__(self, parent): QWidget.__init__(self, parent) while not isinstance(parent, QDialog): parent = parent.parent() self.setObjectName("ListBox" + str(len(parent.findChildren(ListBox)))) self.hLayoutBoxPanel = QHBoxLayout(self) self.hLayoutBoxPanel.setSpacing(0) self.hLayoutBoxPanel.setContentsMargins(3,3,3,3) self.hLayoutBoxPanel.setObjectName(("hLayoutBoxPanel")) self.frameBoxPanel = QFrame(self) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.frameBoxPanel.sizePolicy().hasHeightForWidth()) self.frameBoxPanel.setSizePolicy(sizePolicy) self.frameBoxPanel.setFrameShape(QFrame.NoFrame) self.frameBoxPanel.setFrameShadow(QFrame.Raised) self.frameBoxPanel.setObjectName(("frameBoxPanel")) self.hLayoutframeBoxPanel = QHBoxLayout(self.frameBoxPanel) self.hLayoutframeBoxPanel.setSpacing(0) self.hLayoutframeBoxPanel.setMargin(0) self.hLayoutframeBoxPanel.setObjectName(("hLayoutframeBoxPanel")) self.captionLabel = QLabel(self.frameBoxPanel) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.captionLabel.sizePolicy().hasHeightForWidth()) self.captionLabel.setSizePolicy(sizePolicy) self.captionLabel.setMinimumSize(QSize(200, 0)) self.captionLabel.setMaximumSize(QSize(200, 16777215)) font = QFont() font.setBold(False) font.setWeight(50) self.captionLabel.setFont(font) self.captionLabel.setObjectName(("captionLabel")) self.hLayoutframeBoxPanel.addWidget(self.captionLabel) self.listBox = QListWidget(self.frameBoxPanel) self.listBox.setEnabled(True) font = QFont() font.setBold(False) font.setWeight(50) self.listBox.setFont(font) self.listBox.setObjectName(("listBox")) # self.listBox.setText("0.0") self.hLayoutframeBoxPanel.addWidget(self.listBox) self.imageButton = QToolButton(self.frameBoxPanel) self.imageButton.setText(("")) icon = QIcon() icon.addPixmap(QPixmap(("Resource/convex_hull.png")), QIcon.Normal, QIcon.Off) self.imageButton.setIcon(icon) self.imageButton.setObjectName(("imageButton")) self.imageButton.setVisible(False) self.hLayoutframeBoxPanel.addWidget(self.imageButton) self.hLayoutBoxPanel.addWidget(self.frameBoxPanel) self.listBox.currentRowChanged.connect(self.listBoxChanged) self.imageButton.clicked.connect(self.imageButtonClicked) self.captionUnits = "" self.hasObject = False self.objectList = [] self.captionLabel.setVisible(False)
def __init__(self, parent = None): QDialog.__init__(self, parent) self.resize(290, 136); self.setWindowTitle("Standard Terminal Arrival Route (STAR)") 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.groupBox = GroupBox(self) verticalLayoutDlg.addWidget(self.groupBox) self.pnlAerodrome = ComboBoxPanel(self.groupBox) self.pnlAerodrome.Caption = "Aerodrome" self.groupBox.Add = self.pnlAerodrome self.pnlDesignator = TextBoxPanel(self.groupBox) self.pnlDesignator.Caption = "Designator" self.groupBox.Add = self.pnlDesignator self.pnlAcCategory = ComboBoxPanel(self.groupBox) self.pnlAcCategory.Caption = "Ac. Category" self.groupBox.Add = self.pnlAcCategory self.pnlTransID = TextBoxPanel(self.groupBox) self.pnlTransID.Caption = "ransitional Identifier" self.groupBox.Add = self.pnlTransID self.pnlType = ComboBoxPanel(self.groupBox) self.pnlType.Caption = "Type" self.groupBox.Add = self.pnlType self.pnlMSA = ComboBoxPanel(self.groupBox) self.pnlMSA.Caption = "MSA Group" self.groupBox.Add = self.pnlMSA self.pnlRNP = NumberBoxPanel(self.groupBox) self.pnlRNP.Caption = "RNP" self.groupBox.Add = self.pnlRNP self.tableLayoutPanel = Frame(self.groupBox) self.groupBox.Add = self.tableLayoutPanel self.txtDescription = TextBoxPanel(self.tableLayoutPanel, True) self.txtDescription.Caption = "Description" self.tableLayoutPanel.Add = self.txtDescription self.txtDescrComFail = TextBoxPanel(self.tableLayoutPanel, True) self.txtDescrComFail.Caption = "Communication Failure" self.tableLayoutPanel.Add = self.txtDescrComFail self.txtRemarks = TextBoxPanel(self.tableLayoutPanel, True) self.txtRemarks.Caption = "Remarks" self.tableLayoutPanel.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) verticalLayoutDlg.addWidget(self.btnBoxOkCancel) self.data = None self.table = None self.selected = None;
def __init__(self, parent=None): QDialog.__init__(self, parent) self.resize(290, 136) self.setWindowTitle("Runway Setup") 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.basicFrame = Frame(self) verticalLayoutDlg.addWidget(self.basicFrame) self.groupBox = GroupBox(self.basicFrame) self.basicFrame.Add = self.groupBox self.pnlName = TextBoxPanel(self.groupBox) self.pnlName.Caption = "Name" self.pnlName.LabelWidth = 70 self.groupBox.Add = self.pnlName self.pnlDesignatorFrame = Frame(self.groupBox, "HL") self.groupBox.Add = self.pnlDesignatorFrame self.pnlDesignator = TextBoxPanel(self.groupBox) self.pnlDesignator.Caption = "Designator" self.pnlDesignator.LabelWidth = 70 self.pnlDesignator.Button = "Calculator.bmp" self.pnlDesignatorFrame.Add = self.pnlDesignator self.cmbDesignator = ComboBoxPanel(self.groupBox) self.cmbDesignator.Caption = "" self.cmbDesignator.LabelWidth = 0 self.cmbDesignator.Items = ["", "L", "C", "R"] self.pnlDesignatorFrame.Add = self.cmbDesignator self.gbPositions = GroupBox(self.groupBox) self.gbPositions.Caption = "Positions" self.groupBox.Add = self.gbPositions self.pnlPosition = PositionPanel(self.gbPositions) # self.pnlPosition.hideframe_Altitude() self.pnlPosition.btnCalculater.setVisible(False) self.gbPositions.Add = self.pnlPosition self.pnlTree = Frame(self.gbPositions) self.gbPositions.Add = self.pnlTree self.trvPositions = TreeView(self.pnlTree) self.pnlTree.Add = self.trvPositions self.pnlButtons = Frame(self.pnlTree, "HL") self.pnlTree.Add = self.pnlButtons self.btnPrevious = QPushButton(self.pnlButtons) self.btnPrevious.setObjectName("btnPrevious") self.btnPrevious.setText("") icon = QIcon() icon.addPixmap(QPixmap("Resource/btnImage/Prev_32x32.png"), QIcon.Normal, QIcon.Off) self.btnPrevious.setIcon(icon) self.pnlButtons.Add = self.btnPrevious self.btnInsert = QPushButton(self.pnlButtons) self.btnInsert.setObjectName("btnInsert") self.btnInsert.setText("") icon = QIcon() icon.addPixmap(QPixmap("Resource/add.png"), QIcon.Normal, QIcon.Off) self.btnInsert.setIcon(icon) self.pnlButtons.Add = self.btnInsert self.btnRemove = QPushButton(self.pnlButtons) self.btnRemove.setObjectName("btnRemove") self.btnRemove.setText("") icon = QIcon() icon.addPixmap(QPixmap("Resource/remove.png"), QIcon.Normal, QIcon.Off) self.btnRemove.setIcon(icon) self.pnlButtons.Add = self.btnRemove self.btnNext = QPushButton(self.pnlButtons) self.btnNext.setObjectName("btnNext") self.btnNext.setText("") icon = QIcon() icon.addPixmap(QPixmap("Resource/btnImage/Next_32x32.png"), QIcon.Normal, QIcon.Off) self.btnNext.setIcon(icon) self.pnlButtons.Add = self.btnNext self.btnBoxOkCancel = QDialogButtonBox(self) self.btnBoxOkCancel.setObjectName(("btnBoxOkCancel")) self.btnBoxOkCancel.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) self.btnOK = self.btnBoxOkCancel.button(QDialogButtonBox.Ok) self.connect(self.btnBoxOkCancel, SIGNAL("accepted()"), self.acceptDlg) self.connect(self.btnBoxOkCancel, SIGNAL("rejected()"), self.reject) verticalLayoutDlg.addWidget(self.btnBoxOkCancel) self.btnOK.setText("Save") self.connect(self.pnlDesignator, SIGNAL("Event_1"), self.method_14) self.connect(self.pnlPosition, SIGNAL("captureFinished"), self.method_13) self.btnInsert.clicked.connect(self.btnInsert_Click) self.btnNext.clicked.connect(self.btnNext_Click) self.btnPrevious.clicked.connect(self.btnPrevious_Click) self.btnRemove.clicked.connect(self.btnRemove_Click) self.trvPositions.clicked.connect(self.trvPositions_clicked)
def __init__(self, parent, mapScaleDropDownType): QWidget.__init__(self, parent) while not isinstance(parent, QDialog): parent = parent.parent() self.setObjectName("DistanceBoxPanel" + str(len(parent.findChildren(MapScalePanel)))) self.hLayoutBoxPanel = QHBoxLayout(self) self.hLayoutBoxPanel.setSpacing(0) self.hLayoutBoxPanel.setContentsMargins(0, 0, 0, 0) self.hLayoutBoxPanel.setObjectName(("hLayoutBoxPanel")) self.frameBoxPanel = QFrame(self) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frameBoxPanel.sizePolicy().hasHeightForWidth()) self.frameBoxPanel.setSizePolicy(sizePolicy) self.frameBoxPanel.setFrameShape(QFrame.NoFrame) self.frameBoxPanel.setFrameShadow(QFrame.Raised) self.frameBoxPanel.setObjectName(("frameBoxPanel")) self.hLayoutframeBoxPanel = QHBoxLayout(self.frameBoxPanel) self.hLayoutframeBoxPanel.setSpacing(0) self.hLayoutframeBoxPanel.setMargin(0) self.hLayoutframeBoxPanel.setObjectName(("hLayoutframeBoxPanel")) self.captionLabel = QLabel(self.frameBoxPanel) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.captionLabel.sizePolicy().hasHeightForWidth()) self.captionLabel.setSizePolicy(sizePolicy) self.captionLabel.setMinimumSize(QSize(200, 0)) self.captionLabel.setMaximumSize(QSize(200, 16777215)) font = QFont() font.setBold(False) font.setWeight(50) self.captionLabel.setFont(font) self.captionLabel.setObjectName(("captionLabel")) self.hLayoutframeBoxPanel.addWidget(self.captionLabel) self.frameBoxPanelIn = QFrame(self.frameBoxPanel) self.frameBoxPanelIn.setFrameShape(QFrame.StyledPanel) self.frameBoxPanelIn.setFrameShadow(QFrame.Raised) self.frameBoxPanelIn.setObjectName(("frameBoxPanelIn")) self.hLayoutframeBoxPanelIn = QHBoxLayout(self.frameBoxPanelIn) self.hLayoutframeBoxPanelIn.setSpacing(0) self.hLayoutframeBoxPanelIn.setMargin(0) self.hLayoutframeBoxPanelIn.setObjectName(("hLayoutframeBoxPanelIn")) self.comboBox = ComboBoxPanel(self.frameBoxPanelIn) self.comboBox.Caption = "1" self.comboBox.LabelWidth = 20 self.hLayoutframeBoxPanelIn.addWidget(self.comboBox) # self.txtDistance = QLineEdit(self.frameBoxPanelIn) # self.txtDistance.setEnabled(True) # font = QFont() # font.setBold(False) # font.setWeight(50) # self.txtDistance.setFont(font) # self.txtDistance.setObjectName(("txtDistance")) # self.txtDistance.setText("0.0") # self.txtDistance.setMinimumWidth(70) # self.txtDistance.setMaximumWidth(70) # self.hLayoutframeBoxPanelIn.addWidget(self.txtDistance) self.imageButton = QToolButton(self.frameBoxPanelIn) self.imageButton.setText(("")) icon = QIcon() icon.addPixmap(QPixmap(("Resource/coordinate_capture.png")), QIcon.Normal, QIcon.Off) self.imageButton.setIcon(icon) self.imageButton.setObjectName(("btnDegreeBoxPanel")) self.hLayoutframeBoxPanelIn.addWidget(self.imageButton) self.hLayoutframeBoxPanel.addWidget(self.frameBoxPanelIn) self.hLayoutBoxPanel.addWidget(self.frameBoxPanel) spacerItem = QSpacerItem(10, 10, QSizePolicy.Expanding, QSizePolicy.Minimum) self.hLayoutBoxPanel.addItem(spacerItem) self.imageButton.clicked.connect(self.imageButtonClicked) define._canvas.renderComplete.connect(self.canvas_renderComplete) self.connect(self.comboBox, SIGNAL("Event_0"), self.comboBox_Event_0) self.flag = 0 self.dropDownType = mapScaleDropDownType self.method_5() self.imageButton.setVisible(False)
def insertLayout(self): def createPixmapWidget(self, parent, iconName): w = QLabel(parent) parent.layout().addWidget(w) w.setFixedSize(16, 16) w.hide() if os.path.exists(iconName): w.setPixmap(QPixmap(iconName)) return w self.setLayout(QVBoxLayout()) self.layout().setMargin(2) self.warning_bar = gui.widgetBox(self, orientation="horizontal", margin=0, spacing=0) self.warning_icon = gui.widgetLabel(self.warning_bar, "") self.warning_label = gui.widgetLabel(self.warning_bar, "") self.warning_label.setStyleSheet("padding-top: 5px") self.warning_bar.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Maximum) gui.rubber(self.warning_bar) self.warning_bar.setVisible(False) self.topWidgetPart = gui.widgetBox(self, orientation="horizontal", margin=0) self.leftWidgetPart = gui.widgetBox(self.topWidgetPart, orientation="vertical", margin=0) if self.want_main_area: self.leftWidgetPart.setSizePolicy( QSizePolicy(QSizePolicy.Fixed, QSizePolicy.MinimumExpanding)) self.leftWidgetPart.updateGeometry() self.mainArea = gui.widgetBox(self.topWidgetPart, orientation="vertical", sizePolicy=QSizePolicy( QSizePolicy.Expanding, QSizePolicy.Expanding), margin=0) self.mainArea.layout().setMargin(4) self.mainArea.updateGeometry() if self.want_control_area: self.controlArea = gui.widgetBox(self.leftWidgetPart, orientation="vertical", margin=4) if self.want_graph and self.show_save_graph: graphButtonBackground = gui.widgetBox(self.leftWidgetPart, orientation="horizontal", margin=4) self.graphButton = gui.button(graphButtonBackground, self, "&Save Graph") self.graphButton.setAutoDefault(0) if self.want_status_bar: self.widgetStatusArea = QFrame(self) self.statusBarIconArea = QFrame(self) self.widgetStatusBar = QStatusBar(self) self.layout().addWidget(self.widgetStatusArea) self.widgetStatusArea.setLayout(QHBoxLayout(self.widgetStatusArea)) self.widgetStatusArea.layout().addWidget(self.statusBarIconArea) self.widgetStatusArea.layout().addWidget(self.widgetStatusBar) self.widgetStatusArea.layout().setMargin(0) self.widgetStatusArea.setFrameShape(QFrame.StyledPanel) self.statusBarIconArea.setLayout(QHBoxLayout()) self.widgetStatusBar.setSizeGripEnabled(0) self.statusBarIconArea.hide() self._warningWidget = createPixmapWidget( self.statusBarIconArea, os.path.join(environ.widget_install_dir, "icons/triangle-orange.png")) self._errorWidget = createPixmapWidget( self.statusBarIconArea, os.path.join(environ.widget_install_dir, "icons/triangle-red.png"))
def setupUI(self): ''' Setup of GUI Elements ''' #setup Layout self.setStyleSheet("Screensaver_Overlay { background-color: black } " "QLabel { color : white; }") font_max_time = QFont() font_max_time.setPointSize(94) font_max_date = QFont() font_max_date.setPointSize(34) self.horizontalLayout_3 = QHBoxLayout(self) self.horizontalLayout_2 = QHBoxLayout() self.verticalLayout = QVBoxLayout() spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem) self.lbl_time = Scaling_QLabel(self) self.lbl_time.setFont(font_max_time) self.lbl_time.setTextFormat(Qt.AutoText) self.lbl_time.setScaledContents(False) self.lbl_time.setWordWrap(True) self.lbl_time.maxFont = font_max_time self.lbl_time.setAlignment(Qt.AlignCenter) self.verticalLayout.addWidget(self.lbl_time) self.horizontalLayout = QHBoxLayout() self.lbl_day = Scaling_QLabel(self) self.lbl_day.setFont(font_max_date) self.lbl_day.setTextFormat(Qt.AutoText) self.lbl_day.setScaledContents(False) self.lbl_day.setWordWrap(True) self.lbl_day.maxFont = font_max_date self.lbl_day.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.horizontalLayout.addWidget(self.lbl_day) self.lbl_date = Scaling_QLabel(self) self.lbl_date.setFont(font_max_date) self.lbl_date.setTextFormat(Qt.AutoText) self.lbl_date.setScaledContents(False) self.lbl_date.setWordWrap(True) self.lbl_date.maxFont = font_max_date self.lbl_date.setAlignment(Qt.AlignLeading | Qt.AlignLeft | Qt.AlignVCenter) self.horizontalLayout.addWidget(self.lbl_date) self.verticalLayout.addLayout(self.horizontalLayout) spacerItem1 = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem1) self.horizontalLayout_2.addLayout(self.verticalLayout) spacerItem2 = QSpacerItem(14, 51, QSizePolicy.Preferred, QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem2) self.verticalLayout_2 = QVBoxLayout() spacerItem3 = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem3) #self.lbl_weather_icon = Scaling_QLabel_pixmap(self) self.lbl_weather_icon = weatherIcon(self) sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lbl_weather_icon.sizePolicy().hasHeightForWidth()) self.lbl_weather_icon.setSizePolicy(sizePolicy) self.lbl_weather_icon.setScaledContents(False) self.lbl_weather_icon.setAlignment(Qt.AlignCenter) self.verticalLayout_2.addWidget(self.lbl_weather_icon) self.lbl_temperature = Scaling_QLabel(self) self.lbl_temperature.setFont(font_max_date) self.lbl_temperature.setTextFormat(Qt.AutoText) self.lbl_temperature.setScaledContents(False) self.lbl_temperature.setWordWrap(True) self.lbl_temperature.maxFont = font_max_date self.lbl_temperature.setAlignment(Qt.AlignCenter) self.lbl_temperature.setAlignment(Qt.AlignCenter) self.verticalLayout_2.addWidget(self.lbl_temperature) spacerItem4 = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem4) self.horizontalLayout_2.addLayout(self.verticalLayout_2) self.horizontalLayout_2.setStretch(0, 2) self.horizontalLayout_2.setStretch(2, 1) self.horizontalLayout_3.addLayout(self.horizontalLayout_2) self.lbl_time.setText("") self.lbl_day.setText("") self.lbl_date.setText("") self.lbl_temperature.setText(QString.fromUtf8("")) #self.lbl_weather_icon.setPixmap(QPixmap("../res/weather/icon/na.png")) self.setLayout(self.horizontalLayout_3)
def __init__(self, parent = None): QDialog.__init__(self, parent) self.resize(290, 136); self.setWindowTitle("Reference Positions") 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")); frameDate = QFrame(self); frameDate.setObjectName(("frameDate")); frameDate.setFrameShape(QFrame.StyledPanel); frameDate.setFrameShadow(QFrame.Raised); horizontalLayoutDate = QHBoxLayout(frameDate); horizontalLayoutDate.setObjectName(("horizontalLayoutDate")); labelDate = QLabel(frameDate); labelDate.setObjectName(("labelDate")); labelDate.setMinimumSize(QSize(70, 0)); labelDate.setMaximumSize(QSize(70, 16777215)); labelDate.setText("Date:") horizontalLayoutDate.addWidget(labelDate); self.dtpDate = QDateEdit(frameDate); self.dtpDate.setObjectName(("dtpDate")); horizontalLayoutDate.addWidget(self.dtpDate); self.btnDtpDate = QToolButton(frameDate); self.btnDtpDate.setObjectName(("btnDtpDate")); sizePolicy.setHeightForWidth(self.btnDtpDate.sizePolicy().hasHeightForWidth()); self.btnDtpDate.setSizePolicy(sizePolicy); self.btnDtpDate.setMinimumSize(QSize(25, 0)); self.btnDtpDate.setMaximumSize(QSize(25, 16777215)); icon = QIcon() icon.addPixmap(QPixmap(("Resource/calender.png")), QIcon.Normal, QIcon.Off) self.btnDtpDate.setIcon(icon) horizontalLayoutDate.addWidget(self.btnDtpDate); verticalLayoutDlg.addWidget(frameDate); frameModel = QFrame(self); frameModel.setObjectName(("frameModel")); frameModel.setFrameShape(QFrame.StyledPanel); frameModel.setFrameShadow(QFrame.Raised); horizontalLayoutModel = QHBoxLayout(frameModel); horizontalLayoutModel.setObjectName(("horizontalLayoutModel")); labelModel = QLabel(frameModel); labelModel.setObjectName(("labelModel")); labelModel.setMinimumSize(QSize(70, 0)); labelModel.setMaximumSize(QSize(70, 16777215)); labelModel.setText("Model:") horizontalLayoutModel.addWidget(labelModel); self.cmbModel = QComboBox(frameModel); self.cmbModel.setObjectName(("cmbModel")); horizontalLayoutModel.addWidget(self.cmbModel); verticalLayoutDlg.addWidget(frameModel); self.buttonBox = QDialogButtonBox(self); self.buttonBox.setObjectName(("buttonBox")); self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok); self.connect(self.buttonBox, SIGNAL("accepted()"), self.accept) self.connect(self.buttonBox, SIGNAL("rejected()"), self.reject) verticalLayoutDlg.addWidget(self.buttonBox); self.calendar = QCalendarWidget() self.calendar.clicked.connect(self.calendar_clicked) self.menu = QMenu() layout = QVBoxLayout(self.menu) layout.addWidget(self.calendar) self.btnDtpDate.clicked.connect(self.btnDtpDate_clicked) self.cmbModel.addItems(["WMM2015", "WMM2010" , "WMM2005", "WMM2000", "WMM95", "WMM90", "WMM85", "IGRF2000", "IGRF95", "IGRF90"])
def __init__(self, parent=None): QWidget.__init__(self, parent) self.setWindowTitle( QCoreApplication.translate("PythonConsole", "Python Console")) self.settings = QSettings() self.shell = ShellScintilla(self) self.setFocusProxy(self.shell) self.shellOut = ShellOutputScintilla(self) self.tabEditorWidget = EditorTabWidget(self) ##------------ UI ------------------------------- self.splitterEditor = QSplitter(self) self.splitterEditor.setOrientation(Qt.Horizontal) self.splitterEditor.setHandleWidth(6) self.splitterEditor.setChildrenCollapsible(True) self.shellOutWidget = QWidget(self) self.shellOutWidget.setLayout(QVBoxLayout()) self.shellOutWidget.layout().setContentsMargins(0, 0, 0, 0) self.shellOutWidget.layout().addWidget(self.shellOut) self.splitter = QSplitter(self.splitterEditor) self.splitter.setOrientation(Qt.Vertical) self.splitter.setHandleWidth(3) self.splitter.setChildrenCollapsible(False) self.splitter.addWidget(self.shellOutWidget) self.splitter.addWidget(self.shell) #self.splitterEditor.addWidget(self.tabEditorWidget) self.splitterObj = QSplitter(self.splitterEditor) self.splitterObj.setHandleWidth(3) self.splitterObj.setOrientation(Qt.Horizontal) #self.splitterObj.setSizes([0, 0]) #self.splitterObj.setStretchFactor(0, 1) self.widgetEditor = QWidget(self.splitterObj) self.widgetFind = QWidget(self) self.listClassMethod = QTreeWidget(self.splitterObj) self.listClassMethod.setColumnCount(2) objInspLabel = QCoreApplication.translate("PythonConsole", "Object Inspector") self.listClassMethod.setHeaderLabels([objInspLabel, '']) self.listClassMethod.setColumnHidden(1, True) self.listClassMethod.setAlternatingRowColors(True) #self.splitterEditor.addWidget(self.widgetEditor) #self.splitterObj.addWidget(self.listClassMethod) #self.splitterObj.addWidget(self.widgetEditor) # Hide side editor on start up self.splitterObj.hide() self.listClassMethod.hide() # Hide search widget on start up self.widgetFind.hide() sizes = self.splitter.sizes() self.splitter.setSizes(sizes) ##----------------Restore Settings------------------------------------ self.restoreSettingsConsole() ##------------------Toolbar Editor------------------------------------- ## Action for Open File openFileBt = QCoreApplication.translate("PythonConsole", "Open file") self.openFileButton = QAction(self) self.openFileButton.setCheckable(False) self.openFileButton.setEnabled(True) self.openFileButton.setIcon( QgsApplication.getThemeIcon("console/iconOpenConsole.png")) self.openFileButton.setMenuRole(QAction.PreferencesRole) self.openFileButton.setIconVisibleInMenu(True) self.openFileButton.setToolTip(openFileBt) self.openFileButton.setText(openFileBt) openExtEditorBt = QCoreApplication.translate( "PythonConsole", "Open in external editor") self.openInEditorButton = QAction(self) self.openInEditorButton.setCheckable(False) self.openInEditorButton.setEnabled(True) self.openInEditorButton.setIcon( QgsApplication.getThemeIcon("console/iconShowEditorConsole.png")) self.openInEditorButton.setMenuRole(QAction.PreferencesRole) self.openInEditorButton.setIconVisibleInMenu(True) self.openInEditorButton.setToolTip(openExtEditorBt) self.openInEditorButton.setText(openExtEditorBt) ## Action for Save File saveFileBt = QCoreApplication.translate("PythonConsole", "Save") self.saveFileButton = QAction(self) self.saveFileButton.setCheckable(False) self.saveFileButton.setEnabled(False) self.saveFileButton.setIcon( QgsApplication.getThemeIcon("console/iconSaveConsole.png")) self.saveFileButton.setMenuRole(QAction.PreferencesRole) self.saveFileButton.setIconVisibleInMenu(True) self.saveFileButton.setToolTip(saveFileBt) self.saveFileButton.setText(saveFileBt) ## Action for Save File As saveAsFileBt = QCoreApplication.translate("PythonConsole", "Save As...") self.saveAsFileButton = QAction(self) self.saveAsFileButton.setCheckable(False) self.saveAsFileButton.setEnabled(True) self.saveAsFileButton.setIcon( QgsApplication.getThemeIcon("console/iconSaveAsConsole.png")) self.saveAsFileButton.setMenuRole(QAction.PreferencesRole) self.saveAsFileButton.setIconVisibleInMenu(True) self.saveAsFileButton.setToolTip(saveAsFileBt) self.saveAsFileButton.setText(saveAsFileBt) ## Action Cut cutEditorBt = QCoreApplication.translate("PythonConsole", "Cut") self.cutEditorButton = QAction(self) self.cutEditorButton.setCheckable(False) self.cutEditorButton.setEnabled(True) self.cutEditorButton.setIcon( QgsApplication.getThemeIcon("console/iconCutEditorConsole.png")) self.cutEditorButton.setMenuRole(QAction.PreferencesRole) self.cutEditorButton.setIconVisibleInMenu(True) self.cutEditorButton.setToolTip(cutEditorBt) self.cutEditorButton.setText(cutEditorBt) ## Action Copy copyEditorBt = QCoreApplication.translate("PythonConsole", "Copy") self.copyEditorButton = QAction(self) self.copyEditorButton.setCheckable(False) self.copyEditorButton.setEnabled(True) self.copyEditorButton.setIcon( QgsApplication.getThemeIcon("console/iconCopyEditorConsole.png")) self.copyEditorButton.setMenuRole(QAction.PreferencesRole) self.copyEditorButton.setIconVisibleInMenu(True) self.copyEditorButton.setToolTip(copyEditorBt) self.copyEditorButton.setText(copyEditorBt) ## Action Paste pasteEditorBt = QCoreApplication.translate("PythonConsole", "Paste") self.pasteEditorButton = QAction(self) self.pasteEditorButton.setCheckable(False) self.pasteEditorButton.setEnabled(True) self.pasteEditorButton.setIcon( QgsApplication.getThemeIcon("console/iconPasteEditorConsole.png")) self.pasteEditorButton.setMenuRole(QAction.PreferencesRole) self.pasteEditorButton.setIconVisibleInMenu(True) self.pasteEditorButton.setToolTip(pasteEditorBt) self.pasteEditorButton.setText(pasteEditorBt) ## Action Run Script (subprocess) runScriptEditorBt = QCoreApplication.translate("PythonConsole", "Run script") self.runScriptEditorButton = QAction(self) self.runScriptEditorButton.setCheckable(False) self.runScriptEditorButton.setEnabled(True) self.runScriptEditorButton.setIcon( QgsApplication.getThemeIcon("console/iconRunScriptConsole.png")) self.runScriptEditorButton.setMenuRole(QAction.PreferencesRole) self.runScriptEditorButton.setIconVisibleInMenu(True) self.runScriptEditorButton.setToolTip(runScriptEditorBt) self.runScriptEditorButton.setText(runScriptEditorBt) ## Action Run Script (subprocess) commentEditorBt = QCoreApplication.translate("PythonConsole", "Comment") self.commentEditorButton = QAction(self) self.commentEditorButton.setCheckable(False) self.commentEditorButton.setEnabled(True) self.commentEditorButton.setIcon( QgsApplication.getThemeIcon( "console/iconCommentEditorConsole.png")) self.commentEditorButton.setMenuRole(QAction.PreferencesRole) self.commentEditorButton.setIconVisibleInMenu(True) self.commentEditorButton.setToolTip(commentEditorBt) self.commentEditorButton.setText(commentEditorBt) ## Action Run Script (subprocess) uncommentEditorBt = QCoreApplication.translate("PythonConsole", "Uncomment") self.uncommentEditorButton = QAction(self) self.uncommentEditorButton.setCheckable(False) self.uncommentEditorButton.setEnabled(True) self.uncommentEditorButton.setIcon( QgsApplication.getThemeIcon( "console/iconUncommentEditorConsole.png")) self.uncommentEditorButton.setMenuRole(QAction.PreferencesRole) self.uncommentEditorButton.setIconVisibleInMenu(True) self.uncommentEditorButton.setToolTip(uncommentEditorBt) self.uncommentEditorButton.setText(uncommentEditorBt) ## Action for Object browser objList = QCoreApplication.translate("PythonConsole", "Object Inspector") self.objectListButton = QAction(self) self.objectListButton.setCheckable(True) self.objectListButton.setEnabled( self.settings.value("pythonConsole/enableObjectInsp", False, type=bool)) self.objectListButton.setIcon( QgsApplication.getThemeIcon("console/iconClassBrowserConsole.png")) self.objectListButton.setMenuRole(QAction.PreferencesRole) self.objectListButton.setIconVisibleInMenu(True) self.objectListButton.setToolTip(objList) self.objectListButton.setText(objList) ## Action for Find text findText = QCoreApplication.translate("PythonConsole", "Find Text") self.findTextButton = QAction(self) self.findTextButton.setCheckable(True) self.findTextButton.setEnabled(True) self.findTextButton.setIcon( QgsApplication.getThemeIcon("console/iconSearchEditorConsole.png")) self.findTextButton.setMenuRole(QAction.PreferencesRole) self.findTextButton.setIconVisibleInMenu(True) self.findTextButton.setToolTip(findText) self.findTextButton.setText(findText) ##----------------Toolbar Console------------------------------------- ## Action Show Editor showEditor = QCoreApplication.translate("PythonConsole", "Show editor") self.showEditorButton = QAction(self) self.showEditorButton.setEnabled(True) self.showEditorButton.setCheckable(True) self.showEditorButton.setIcon( QgsApplication.getThemeIcon("console/iconShowEditorConsole.png")) self.showEditorButton.setMenuRole(QAction.PreferencesRole) self.showEditorButton.setIconVisibleInMenu(True) self.showEditorButton.setToolTip(showEditor) self.showEditorButton.setText(showEditor) ## Action for Clear button clearBt = QCoreApplication.translate("PythonConsole", "Clear console") self.clearButton = QAction(self) self.clearButton.setCheckable(False) self.clearButton.setEnabled(True) self.clearButton.setIcon( QgsApplication.getThemeIcon("console/iconClearConsole.png")) self.clearButton.setMenuRole(QAction.PreferencesRole) self.clearButton.setIconVisibleInMenu(True) self.clearButton.setToolTip(clearBt) self.clearButton.setText(clearBt) ## Action for settings optionsBt = QCoreApplication.translate("PythonConsole", "Settings") self.optionsButton = QAction(self) self.optionsButton.setCheckable(False) self.optionsButton.setEnabled(True) self.optionsButton.setIcon( QgsApplication.getThemeIcon("console/iconSettingsConsole.png")) self.optionsButton.setMenuRole(QAction.PreferencesRole) self.optionsButton.setIconVisibleInMenu(True) self.optionsButton.setToolTip(optionsBt) self.optionsButton.setText(optionsBt) ## Action menu for class actionClassBt = QCoreApplication.translate("PythonConsole", "Import Class") self.actionClass = QAction(self) self.actionClass.setCheckable(False) self.actionClass.setEnabled(True) self.actionClass.setIcon( QgsApplication.getThemeIcon("console/iconClassConsole.png")) self.actionClass.setMenuRole(QAction.PreferencesRole) self.actionClass.setIconVisibleInMenu(True) self.actionClass.setToolTip(actionClassBt) self.actionClass.setText(actionClassBt) ## Import Processing class loadProcessingBt = QCoreApplication.translate( "PythonConsole", "Import Processing class") self.loadProcessingButton = QAction(self) self.loadProcessingButton.setCheckable(False) self.loadProcessingButton.setEnabled(True) self.loadProcessingButton.setIcon( QgsApplication.getThemeIcon("console/iconProcessingConsole.png")) self.loadProcessingButton.setMenuRole(QAction.PreferencesRole) self.loadProcessingButton.setIconVisibleInMenu(True) self.loadProcessingButton.setToolTip(loadProcessingBt) self.loadProcessingButton.setText(loadProcessingBt) ## Import QtCore class loadQtCoreBt = QCoreApplication.translate("PythonConsole", "Import PyQt.QtCore class") self.loadQtCoreButton = QAction(self) self.loadQtCoreButton.setCheckable(False) self.loadQtCoreButton.setEnabled(True) self.loadQtCoreButton.setIcon( QgsApplication.getThemeIcon("console/iconQtCoreConsole.png")) self.loadQtCoreButton.setMenuRole(QAction.PreferencesRole) self.loadQtCoreButton.setIconVisibleInMenu(True) self.loadQtCoreButton.setToolTip(loadQtCoreBt) self.loadQtCoreButton.setText(loadQtCoreBt) ## Import QtGui class loadQtGuiBt = QCoreApplication.translate("PythonConsole", "Import PyQt.QtGui class") self.loadQtGuiButton = QAction(self) self.loadQtGuiButton.setCheckable(False) self.loadQtGuiButton.setEnabled(True) self.loadQtGuiButton.setIcon( QgsApplication.getThemeIcon("console/iconQtGuiConsole.png")) self.loadQtGuiButton.setMenuRole(QAction.PreferencesRole) self.loadQtGuiButton.setIconVisibleInMenu(True) self.loadQtGuiButton.setToolTip(loadQtGuiBt) self.loadQtGuiButton.setText(loadQtGuiBt) ## Action for Run script runBt = QCoreApplication.translate("PythonConsole", "Run command") self.runButton = QAction(self) self.runButton.setCheckable(False) self.runButton.setEnabled(True) self.runButton.setIcon( QgsApplication.getThemeIcon("console/iconRunConsole.png")) self.runButton.setMenuRole(QAction.PreferencesRole) self.runButton.setIconVisibleInMenu(True) self.runButton.setToolTip(runBt) self.runButton.setText(runBt) ## Help action helpBt = QCoreApplication.translate("PythonConsole", "Help") self.helpButton = QAction(self) self.helpButton.setCheckable(False) self.helpButton.setEnabled(True) self.helpButton.setIcon( QgsApplication.getThemeIcon("console/iconHelpConsole.png")) self.helpButton.setMenuRole(QAction.PreferencesRole) self.helpButton.setIconVisibleInMenu(True) self.helpButton.setToolTip(helpBt) self.helpButton.setText(helpBt) self.toolBar = QToolBar() self.toolBar.setEnabled(True) self.toolBar.setFocusPolicy(Qt.NoFocus) self.toolBar.setContextMenuPolicy(Qt.DefaultContextMenu) self.toolBar.setLayoutDirection(Qt.LeftToRight) self.toolBar.setIconSize(QSize(16, 16)) self.toolBar.setMovable(False) self.toolBar.setFloatable(False) self.toolBar.addAction(self.clearButton) self.toolBar.addAction(self.actionClass) self.toolBar.addAction(self.runButton) self.toolBar.addSeparator() self.toolBar.addAction(self.showEditorButton) self.toolBar.addSeparator() self.toolBar.addAction(self.optionsButton) self.toolBar.addAction(self.helpButton) self.toolBarEditor = QToolBar() self.toolBarEditor.setEnabled(False) self.toolBarEditor.setFocusPolicy(Qt.NoFocus) self.toolBarEditor.setContextMenuPolicy(Qt.DefaultContextMenu) self.toolBarEditor.setLayoutDirection(Qt.LeftToRight) self.toolBarEditor.setIconSize(QSize(16, 16)) self.toolBarEditor.setMovable(False) self.toolBarEditor.setFloatable(False) self.toolBarEditor.addAction(self.openFileButton) self.toolBarEditor.addAction(self.openInEditorButton) self.toolBarEditor.addSeparator() self.toolBarEditor.addAction(self.saveFileButton) self.toolBarEditor.addAction(self.saveAsFileButton) self.toolBarEditor.addSeparator() self.toolBarEditor.addAction(self.runScriptEditorButton) self.toolBarEditor.addSeparator() self.toolBarEditor.addAction(self.findTextButton) self.toolBarEditor.addSeparator() self.toolBarEditor.addAction(self.cutEditorButton) self.toolBarEditor.addAction(self.copyEditorButton) self.toolBarEditor.addAction(self.pasteEditorButton) self.toolBarEditor.addSeparator() self.toolBarEditor.addAction(self.commentEditorButton) self.toolBarEditor.addAction(self.uncommentEditorButton) self.toolBarEditor.addSeparator() self.toolBarEditor.addAction(self.objectListButton) ## Menu Import Class self.classMenu = QMenu() self.classMenu.addAction(self.loadProcessingButton) self.classMenu.addAction(self.loadQtCoreButton) self.classMenu.addAction(self.loadQtGuiButton) cM = self.toolBar.widgetForAction(self.actionClass) cM.setMenu(self.classMenu) cM.setPopupMode(QToolButton.InstantPopup) self.widgetButton = QWidget() sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.widgetButton.sizePolicy().hasHeightForWidth()) self.widgetButton.setSizePolicy(sizePolicy) self.widgetButtonEditor = QWidget(self.widgetEditor) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.widgetButtonEditor.sizePolicy().hasHeightForWidth()) self.widgetButtonEditor.setSizePolicy(sizePolicy) sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.shellOut.sizePolicy().hasHeightForWidth()) self.shellOut.setSizePolicy(sizePolicy) self.shellOut.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded) self.shell.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded) ##------------ Layout ------------------------------- self.mainLayout = QGridLayout(self) self.mainLayout.setMargin(0) self.mainLayout.setSpacing(0) self.mainLayout.addWidget(self.widgetButton, 0, 0, 1, 1) self.mainLayout.addWidget(self.splitterEditor, 0, 1, 1, 1) self.shellOutWidget.layout().insertWidget(0, self.toolBar) self.layoutEditor = QGridLayout(self.widgetEditor) self.layoutEditor.setMargin(0) self.layoutEditor.setSpacing(0) self.layoutEditor.addWidget(self.toolBarEditor, 0, 1, 1, 1) self.layoutEditor.addWidget(self.widgetButtonEditor, 1, 0, 2, 1) self.layoutEditor.addWidget(self.tabEditorWidget, 1, 1, 1, 1) self.layoutEditor.addWidget(self.widgetFind, 2, 1, 1, 1) ## Layout for the find widget self.layoutFind = QGridLayout(self.widgetFind) self.layoutFind.setContentsMargins(0, 0, 0, 0) self.lineEditFind = QgsFilterLineEdit() placeHolderTxt = QCoreApplication.translate("PythonConsole", "Enter text to find...") if pyqtconfig.Configuration().qt_version >= 0x40700: self.lineEditFind.setPlaceholderText(placeHolderTxt) else: self.lineEditFind.setToolTip(placeHolderTxt) self.findNextButton = QToolButton() self.findNextButton.setEnabled(False) toolTipfindNext = QCoreApplication.translate("PythonConsole", "Find Next") self.findNextButton.setToolTip(toolTipfindNext) self.findNextButton.setIcon( QgsApplication.getThemeIcon( "console/iconSearchNextEditorConsole.png")) self.findNextButton.setIconSize(QSize(24, 24)) self.findNextButton.setAutoRaise(True) self.findPrevButton = QToolButton() self.findPrevButton.setEnabled(False) toolTipfindPrev = QCoreApplication.translate("PythonConsole", "Find Previous") self.findPrevButton.setToolTip(toolTipfindPrev) self.findPrevButton.setIcon( QgsApplication.getThemeIcon( "console/iconSearchPrevEditorConsole.png")) self.findPrevButton.setIconSize(QSize(24, 24)) self.findPrevButton.setAutoRaise(True) self.caseSensitive = QCheckBox() caseSensTr = QCoreApplication.translate("PythonConsole", "Case Sensitive") self.caseSensitive.setText(caseSensTr) self.wholeWord = QCheckBox() wholeWordTr = QCoreApplication.translate("PythonConsole", "Whole Word") self.wholeWord.setText(wholeWordTr) self.wrapAround = QCheckBox() self.wrapAround.setChecked(True) wrapAroundTr = QCoreApplication.translate("PythonConsole", "Wrap Around") self.wrapAround.setText(wrapAroundTr) self.layoutFind.addWidget(self.lineEditFind, 0, 1, 1, 1) self.layoutFind.addWidget(self.findPrevButton, 0, 2, 1, 1) self.layoutFind.addWidget(self.findNextButton, 0, 3, 1, 1) self.layoutFind.addWidget(self.caseSensitive, 0, 4, 1, 1) self.layoutFind.addWidget(self.wholeWord, 0, 5, 1, 1) self.layoutFind.addWidget(self.wrapAround, 0, 6, 1, 1) ##------------ Add first Tab in Editor ------------------------------- #self.tabEditorWidget.newTabEditor(tabName='first', filename=None) ##------------ Signal ------------------------------- self.findTextButton.toggled.connect(self.findTextEditor) self.objectListButton.toggled.connect(self.toggleObjectListWidget) self.commentEditorButton.triggered.connect(self.commentCode) self.uncommentEditorButton.triggered.connect(self.uncommentCode) self.runScriptEditorButton.triggered.connect(self.runScriptEditor) self.cutEditorButton.triggered.connect(self.cutEditor) self.copyEditorButton.triggered.connect(self.copyEditor) self.pasteEditorButton.triggered.connect(self.pasteEditor) self.showEditorButton.toggled.connect(self.toggleEditor) self.clearButton.triggered.connect(self.shellOut.clearConsole) self.optionsButton.triggered.connect(self.openSettings) self.loadProcessingButton.triggered.connect(self.processing) self.loadQtCoreButton.triggered.connect(self.qtCore) self.loadQtGuiButton.triggered.connect(self.qtGui) self.runButton.triggered.connect(self.shell.entered) self.openFileButton.triggered.connect(self.openScriptFile) self.openInEditorButton.triggered.connect(self.openScriptFileExtEditor) self.saveFileButton.triggered.connect(self.saveScriptFile) self.saveAsFileButton.triggered.connect(self.saveAsScriptFile) self.helpButton.triggered.connect(self.openHelp) self.connect(self.listClassMethod, SIGNAL('itemClicked(QTreeWidgetItem*, int)'), self.onClickGoToLine) self.lineEditFind.returnPressed.connect(self._findText) self.findNextButton.clicked.connect(self._findNext) self.findPrevButton.clicked.connect(self._findPrev) self.lineEditFind.textChanged.connect(self._textFindChanged)
def _init_ui(self): namesBox = gui.widgetBox(self.controlArea, "Names") gui.lineEdit(namesBox, self, "attr1", "Variable X ", controlWidth=80, orientation="horizontal", enterPlaceholder=True, callback=self._attr_name_changed) gui.lineEdit(namesBox, self, "attr2", "Variable Y ", controlWidth=80, orientation="horizontal", enterPlaceholder=True, callback=self._attr_name_changed) gui.separator(namesBox) gui.widgetLabel(namesBox, "Class labels") self.classValuesView = listView = QListView( selectionMode=QListView.SingleSelection, sizePolicy=QSizePolicy(QSizePolicy.Ignored, QSizePolicy.Maximum) ) listView.setModel(self.class_model) itemmodels.select_row(listView, 0) namesBox.layout().addWidget(listView) addClassLabel = QAction( "+", self, toolTip="Add new class label", triggered=self.add_new_class_label ) self.removeClassLabel = QAction( unicodedata.lookup("MINUS SIGN"), self, toolTip="Remove selected class label", triggered=self.remove_selected_class_label ) actionsWidget = itemmodels.ModelActionsWidget( [addClassLabel, self.removeClassLabel], self ) actionsWidget.layout().addStretch(10) actionsWidget.layout().setSpacing(1) namesBox.layout().addWidget(actionsWidget) tBox = gui.widgetBox(self.controlArea, "Tools", addSpace=True) buttonBox = gui.widgetBox(tBox, orientation="horizontal") toolsBox = gui.widgetBox(buttonBox, orientation=QtGui.QGridLayout()) self.toolActions = QtGui.QActionGroup(self) self.toolActions.setExclusive(True) for i, (name, tooltip, tool, icon) in enumerate(self.TOOLS): action = QAction( name, self, toolTip=tooltip, checkable=True, icon=QIcon(icon), ) action.triggered.connect(partial(self.set_current_tool, tool)) button = QtGui.QToolButton( iconSize=QSize(24, 24), toolButtonStyle=Qt.ToolButtonTextUnderIcon, sizePolicy=QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Fixed) ) button.setDefaultAction(action) toolsBox.layout().addWidget(button, i / 3, i % 3) self.toolActions.addAction(action) for column in range(3): toolsBox.layout().setColumnMinimumWidth(column, 10) toolsBox.layout().setColumnStretch(column, 1) undo = self.undo_stack.createUndoAction(self) redo = self.undo_stack.createRedoAction(self) undo.setShortcut(QtGui.QKeySequence.Undo) redo.setShortcut(QtGui.QKeySequence.Redo) self.addActions([undo, redo]) gui.separator(tBox) indBox = gui.indentedBox(tBox, sep=8) form = QtGui.QFormLayout( formAlignment=Qt.AlignLeft, labelAlignment=Qt.AlignLeft, fieldGrowthPolicy=QtGui.QFormLayout.AllNonFixedFieldsGrow ) indBox.layout().addLayout(form) slider = gui.hSlider( indBox, self, "brushRadius", minValue=1, maxValue=100, createLabel=False ) form.addRow("Radius", slider) slider = gui.hSlider( indBox, self, "density", None, minValue=1, maxValue=100, createLabel=False ) form.addRow("Intensity", slider) gui.rubber(self.controlArea) gui.auto_commit(self.controlArea, self, "autocommit", "Send", "Send on change") # main area GUI viewbox = PaintViewBox() self.plotview = pg.PlotWidget(background="w", viewBox=viewbox) self.plot = self.plotview.getPlotItem() axis_color = self.palette().color(QtGui.QPalette.Text) axis_pen = QtGui.QPen(axis_color) tickfont = QtGui.QFont(self.font()) tickfont.setPixelSize(max(int(tickfont.pixelSize() * 2 // 3), 11)) axis = self.plot.getAxis("bottom") axis.setLabel(self.attr1) axis.setPen(axis_pen) axis.setTickFont(tickfont) axis = self.plot.getAxis("left") axis.setLabel(self.attr2) axis.setPen(axis_pen) axis.setTickFont(tickfont) self.plot.setRange(xRange=(0.0, 1.0), yRange=(0.0, 1.0), disableAutoRange=True) self.mainArea.layout().addWidget(self.plotview) # enable brush tool self.toolActions.actions()[0].setChecked(True) self.set_current_tool(self.TOOLS[0][2])
def __init__(self, parent): QFrame.__init__(self, parent) # self.frame_WindIA = QFrame(parent) sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizePolicy) self.setFrameShape(QFrame.StyledPanel) self.setFrameShadow(QFrame.Raised) self.setObjectName(("frame_WindIA")) self.horizontalLayout_32 = QHBoxLayout(self) self.horizontalLayout_32.setSpacing(0) self.horizontalLayout_32.setMargin(0) self.horizontalLayout_32.setObjectName(("horizontalLayout_32")) self.lblIA = QLabel(self) self.lblIA.setMinimumSize(QSize(140, 0)) self.lblIA.setMaximumSize(QSize(100, 16777215)) font = QFont() font.setFamily(("Arial")) font.setBold(False) font.setWeight(50) self.lblIA.setFont(font) self.lblIA.setObjectName(("lblIA")) self.horizontalLayout_32.addWidget(self.lblIA) self.comboBox = QComboBox(self) sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.comboBox.sizePolicy().hasHeightForWidth()) self.comboBox.setSizePolicy(sizePolicy) self.comboBox.setMinimumSize(QSize(60, 0)) font = QFont() font.setFamily(("Arial")) font.setBold(False) font.setWeight(50) self.comboBox.setFont(font) self.comboBox.setObjectName(("comboBox")) self.horizontalLayout_32.addWidget(self.comboBox) self.speedBox = QLineEdit(self) sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.speedBox.sizePolicy().hasHeightForWidth()) self.speedBox.setSizePolicy(sizePolicy) self.speedBox.setMinimumSize(QSize(70, 0)) self.speedBox.setMaximumSize(QSize(16777215, 16777215)) font = QFont() font.setFamily(("Arial")) font.setBold(False) font.setWeight(50) self.speedBox.setFont(font) self.speedBox.setObjectName(("speedBox")) self.horizontalLayout_32.addWidget(self.speedBox) self.altitude = Altitude.NaN() self.customValue = Speed(30).Knots self.comboBox.addItems(["ICAO", "UK", "Custom"]) self.comboBox.currentIndexChanged.connect(self.changeWindType) self.comboBox.setCurrentIndex(0) self.lblIA.setText("Wind (kts):") self.speedBox.setEnabled(False)