Ejemplo n.º 1
0
class CreatePatientDialog(QDialog):
    def __init__(self, classification, patient, infoLabel, parent=None):
        super(CreatePatientDialog, self).__init__(parent)
        self.setWindowTitle('Create new patient')
        layout = QVBoxLayout()
        self.setLayout(layout)
        self.setMinimumWidth(200)

        self.patient = patient
        self.classifyExercises = classification
        self.infoLabel = infoLabel

        self.subjectEdit = QLineEdit()
        self.subjectEdit.setFixedHeight(30)
        self.subjectEdit.setText('Jozsika')
        self.subjectEdit.setStyleSheet(CustomQStyles.lineEditStyle)

        self.ageEdit = QLineEdit()
        self.ageEdit.setFixedHeight(30)
        self.ageEdit.setValidator(QIntValidator())
        self.ageEdit.setText('5')
        self.ageEdit.setStyleSheet(CustomQStyles.lineEditStyle)

        self.subjectButton = QPushButton('Add patient')
        self.subjectButton.setFixedHeight(30)
        self.subjectButton.setStyleSheet(CustomQStyles.outlineButtonStyle)
        self.subjectButton.clicked.connect(self.onSubjectSelected)
        self.subjectButton.setContentsMargins(5, 15, 5, 5)
        formContainer = QWidget()
        self.formLayout = QFormLayout()
        self.formLayout.addRow('Name', self.subjectEdit)
        self.formLayout.addRow('Age', self.ageEdit)
        self.formLayout.addWidget(self.subjectButton)
        self.formLayout.setFormAlignment(Qt.Alignment.AlignCenter)
        formContainer.setLayout(self.formLayout)
        formContainer.setStyleSheet(
            "background-color: white; border-radius: 7px;")
        layout.addWidget(formContainer)

    def onSubjectSelected(self):
        if self.classifyExercises is not None \
                and "" != self.subjectEdit.text() \
                and "" != self.ageEdit.text():
            self.subject = self.subjectEdit.text()
            self.classifyExercises.subject = self.subject
            self.classifyExercises.age = self.ageEdit.text()
            self.infoLabel.setText("Subject name set to " + self.subject +
                                   ", age " + self.classifyExercises.age)
            self.close()
Ejemplo n.º 2
0
class NodeWidget(QWidget):
    def __init__(self, ID=0):
        super(NodeWidget, self).__init__()
        laytout = QHBoxLayout()
        self.input_id = QLineEdit(str(ID))
        self.input_id.setFixedWidth(30)
        self.input_text = QLineEdit("")
        self.input_text.setFixedHeight(20)
        self.input_text.setFixedWidth(400)
        self.input_type = QComboBox()
        self.input_type.addItem('开始/结束')
        self.input_type.addItem('流程')
        self.input_type.addItem('判定')
        self.input_type.addItem('None')
        self.input_type.setFixedWidth(80)
        self.input_x = QLineEdit("0")
        self.input_x.setFixedWidth(30)
        self.input_y = QLineEdit("0")
        self.input_y.setFixedWidth(30)
        self.input_link1 = QLineEdit("")
        self.input_link1.setFixedWidth(30)
        self.input_link2 = QLineEdit("")
        self.input_link2.setFixedWidth(30)

        laytout.addWidget(self.input_id)
        laytout.addWidget(self.input_text)
        laytout.addWidget(self.input_type)
        laytout.addWidget(self.input_x)
        laytout.addWidget(self.input_y)
        laytout.addWidget(self.input_link1)
        laytout.addWidget(self.input_link2)
        laytout.addStretch()
        laytout.setContentsMargins(0, 0, 0, 0)
        self.setLayout(laytout)
        self.data = []

    def get_node_info(self):
        print("读取数据")
        self.data.append(int(self.input_id.text()))
        self.data.append(self.input_text.text())
        if '开始/结束' == self.input_type.currentText():
            self.data.append(2)
            print("开始/结束")
        elif '流程' == self.input_type.currentText():
            self.data.append(0)
            print("流程")
        elif '判定' == self.input_type.currentText():
            self.data.append(1)
            print("判定")
        else:
            print("None")
            self.data.append(3)
        print("===1===")
        self.data.append(int(self.input_x.text()))
        self.data.append(int(self.input_y.text()))
        if self.input_link1.text():
            self.data.append(int(self.input_link1.text()))
        if self.input_link2.text():
            self.data.append(int(self.input_link2.text()))

        print(self.data)
        return self.data
Ejemplo n.º 3
0
class PyCalcUi(QMainWindow):
    """PyCalc's View (GUI)."""

    def __init__(self):
        """View initializer."""
        super().__init__()
        # Set some main window's properties
        self.setWindowTitle("PyCalc")
        self.setFixedSize(235, 235)
        # Set the central widget and the general layout
        self.generalLayout = QVBoxLayout()
        self._centralWidget = QWidget(self)
        self.setCentralWidget(self._centralWidget)
        self._centralWidget.setLayout(self.generalLayout)
        # Create the display and the buttons
        self._createDisplay()
        self._createButtons()

    def _createDisplay(self):
        """Create the display."""
        # Create the display widget
        self.display = QLineEdit()
        # Set some display's properties
        self.display.setFixedHeight(35)
        self.display.setAlignment(Qt.AlignmentFlag.AlignRight)
        self.display.setReadOnly(True)
        # Add the display to the general layout
        self.generalLayout.addWidget(self.display)

    def _createButtons(self):
        """Create the buttons."""
        self.buttons = {}
        buttonsLayout = QGridLayout()
        # Button text | position on the QGridLayout
        buttons = {
            "7": (0, 0),
            "8": (0, 1),
            "9": (0, 2),
            "/": (0, 3),
            "C": (0, 4),
            "4": (1, 0),
            "5": (1, 1),
            "6": (1, 2),
            "*": (1, 3),
            "(": (1, 4),
            "1": (2, 0),
            "2": (2, 1),
            "3": (2, 2),
            "-": (2, 3),
            ")": (2, 4),
            "0": (3, 0),
            "00": (3, 1),
            ".": (3, 2),
            "+": (3, 3),
            "=": (3, 4),
        }
        # Create the buttons and add them to the grid layout
        for btnText, pos in buttons.items():
            self.buttons[btnText] = QPushButton(btnText)
            self.buttons[btnText].setFixedSize(40, 40)
            buttonsLayout.addWidget(self.buttons[btnText], pos[0], pos[1])
        # Add buttonsLayout to the general layout
        self.generalLayout.addLayout(buttonsLayout)

    def setDisplayText(self, text):
        """Set display's text."""
        self.display.setText(text)
        self.display.setFocus()

    def displayText(self):
        """Get display's text."""
        return self.display.text()

    def clearDisplay(self):
        """Clear the display."""
        self.setDisplayText("")