コード例 #1
0
ファイル: MainWindow.py プロジェクト: Tic-Tac-Toc/EEG_HCI
    def CreateLayout(self):
        layout = QVBoxLayout()

        self.picture = QPixmap("Assets/pics/applogo.png")
        label = QLabel(self)
        label.setPixmap(self.picture)

        FirstRowLayout = QHBoxLayout()
        FirstRowLayout.addWidget(label)
        DefineLayoutChildAlignment(FirstRowLayout, Qt.AlignHCenter)

        signalButton = QPushButton("Visualisation de signal")
        signalButton.clicked.connect(self.signalButtonClick)
        signalButton.setFixedHeight(50)
        synchronisationButton = QPushButton("Visualisation de synchronisation")
        synchronisationButton.clicked.connect(self.PSCButtonClick)
        synchronisationButton.setFixedHeight(50)

        SecondRowLayout = QHBoxLayout()
        SecondRowLayout.setMargin(10)
        SecondRowLayout.setSpacing(10)
        SecondRowLayout.addWidget(signalButton)
        SecondRowLayout.addWidget(synchronisationButton)

        layout.addItem(FirstRowLayout)
        layout.addItem(SecondRowLayout)

        self.setLayout(layout)
コード例 #2
0
def get_view_for_submodel(submodel):
    main_widget = QWidget()

    hbox_layout = QHBoxLayout(main_widget)
    vbox_layout = QVBoxLayout()

    table_view = QTableView()
    table_view.setSelectionBehavior(QAbstractItemView.SelectRows)
    table_view.setSelectionMode(QAbstractItemView.SingleSelection)
    table_view.setModel(submodel)

    add_button = QPushButton("+")
    add_button.clicked.connect(lambda: add_item_to_model(submodel))

    remove_button = QPushButton("-")
    remove_button.clicked.connect(
        lambda: remove_item_from_model(submodel, table_view))

    vbox_layout.addWidget(add_button)
    vbox_layout.addWidget(remove_button)
    vbox_layout.addItem(
        QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))

    hbox_layout.addWidget(table_view)
    hbox_layout.addLayout(vbox_layout)

    return main_widget
コード例 #3
0
ファイル: SynchroWidget.py プロジェクト: Tic-Tac-Toc/EEG_HCI
    def CreateLayout(self):
        globalLayout = QVBoxLayout()

        self.label_file = QLabel("Sélectionnez un fichier (File->Open)")
        self.label_file.setMaximumHeight(20)
        firstRowLayout = QHBoxLayout()
        firstRowLayout.setMargin(10)
        firstRowLayout.setSpacing(10)
        firstRowLayout.addWidget(self.label_file)

        DefineLayoutChildAlignment(firstRowLayout, Qt.AlignHCenter)
        globalLayout.addItem(firstRowLayout)

        self.gradientWidget = LinearGradientBarWidget()
        self.gradientWidget.setFixedHeight(30)
        self.gradientWidget.setFixedWidth(600)
        globalLayout.addWidget(self.gradientWidget)

        self.widget = ElectrodesSynchroWidget()
        globalLayout.addWidget(self.widget)

        self.sliderwidgetupto = QSliderSynchroWidget()
        self.sliderwidgetupto.setMaximumHeight(40)
        globalLayout.addWidget(self.sliderwidgetupto)

        self.sliderwidgetdownto = QSliderSynchroWidget()
        self.sliderwidgetdownto.setMaximumHeight(40)
        globalLayout.addWidget(self.sliderwidgetdownto)

        return globalLayout
コード例 #4
0
ファイル: TaskPanelFin.py プロジェクト: luzpaz/Rocket
    def setTabTtw(self):

        ui = FreeCADGui.UiLoader()

        self.ttwGroup = QtGui.QGroupBox(translate('Rocket', "TTW Tab"), self)
        self.ttwGroup.setCheckable(True)

        self.ttwOffsetLabel = QtGui.QLabel(translate('Rocket', "Offset"), self)

        self.ttwOffsetInput = ui.createWidget("Gui::InputField")
        self.ttwOffsetInput.unit = 'mm'
        self.ttwOffsetInput.setFixedWidth(80)

        self.ttwLengthLabel = QtGui.QLabel(translate('Rocket', "Length"), self)

        self.ttwLengthInput = ui.createWidget("Gui::InputField")
        self.ttwLengthInput.unit = 'mm'
        self.ttwLengthInput.setFixedWidth(80)

        self.ttwHeightLabel = QtGui.QLabel(translate('Rocket', "Height"), self)

        self.ttwHeightInput = ui.createWidget("Gui::InputField")
        self.ttwHeightInput.unit = 'mm'
        self.ttwHeightInput.setFixedWidth(80)

        self.ttwThicknessLabel = QtGui.QLabel(translate('Rocket', "Thickness"),
                                              self)

        self.ttwThicknessInput = ui.createWidget("Gui::InputField")
        self.ttwThicknessInput.unit = 'mm'
        self.ttwThicknessInput.setFixedWidth(80)

        row = 0
        grid = QGridLayout()

        grid.addWidget(self.ttwOffsetLabel, row, 0)
        grid.addWidget(self.ttwOffsetInput, row, 1)
        row += 1

        grid.addWidget(self.ttwLengthLabel, row, 0)
        grid.addWidget(self.ttwLengthInput, row, 1)
        row += 1

        grid.addWidget(self.ttwHeightLabel, row, 0)
        grid.addWidget(self.ttwHeightInput, row, 1)
        row += 1

        grid.addWidget(self.ttwThicknessLabel, row, 0)
        grid.addWidget(self.ttwThicknessInput, row, 1)

        self.ttwGroup.setLayout(grid)

        layout = QVBoxLayout()
        layout.addWidget(self.ttwGroup)
        layout.addItem(
            QtGui.QSpacerItem(0, 0, QSizePolicy.Expanding,
                              QSizePolicy.Expanding))

        self.tabTtw.setLayout(layout)
コード例 #5
0
    def CreateLayout(self):
        globalLayout = QVBoxLayout()
        
        label_cat = QLabel("Category : ")
        self.cb_cat = QComboBox()
        self.cb_cat.addItems(["Active", "Control", "Death"])
        self.cb_cat.currentIndexChanged.connect(self.cb_category_index_changed)

        label_patient = QLabel("Patient : ")
        self.cb_patient = QComboBox()
        self.cb_patient.addItems(GraphFormWidget.FindPatients(self.cb_cat.currentText()))
        
        label_electrode = QLabel("Electrode : ")
        self.cb_electrode = QComboBox()
        self.cb_electrode.addItems(getElectrodesList())

        label_wave = QLabel("Wave type : ")
        self.cb_wave = QComboBox()
        self.cb_wave.addItems(["Alpha", "Beta", "Theta", "Delta"])

        firstRowLayout = QHBoxLayout()
        firstRowLayout.setMargin(10)
        firstRowLayout.setSpacing(10)
        firstRowLayout.addWidget(label_cat)
        firstRowLayout.addWidget(self.cb_cat)
        firstRowLayout.addWidget(label_patient)
        firstRowLayout.addWidget(self.cb_patient)
        firstRowLayout.addWidget(label_electrode)
        firstRowLayout.addWidget(self.cb_electrode)
        firstRowLayout.addWidget(label_wave)
        firstRowLayout.addWidget(self.cb_wave)

        DefineLayoutChildAlignment(firstRowLayout, Qt.AlignHCenter)

        globalLayout.addItem(firstRowLayout)

        self.heatMapBtn = QPushButton("Show heatmap") 
        self.heatMapBtn.clicked.connect(self.heatMapBtnClick)

        showBtn = QPushButton("Show graph")
        showBtn.clicked.connect(self.showBtnClick)
        
        secondRowLayout = QHBoxLayout()
        secondRowLayout.setMargin(10)
        secondRowLayout.setSpacing(10)
        secondRowLayout.addWidget(self.heatMapBtn)
        secondRowLayout.addWidget(showBtn)
        
        DefineLayoutChildAlignment(secondRowLayout, Qt.AlignHCenter)

        globalLayout.addItem(secondRowLayout)

        self.graphWidget = GraphWidget()
        globalLayout.addWidget(self.graphWidget)                

        return globalLayout
コード例 #6
0
class Ui_Form(object):
    def setupUi(self, Form):
        if not Form.objectName():
            Form.setObjectName(u"Form")
        Form.resize(400, 300)
        self.horizontalLayoutWidget = QWidget(Form)
        self.horizontalLayoutWidget.setObjectName(u"horizontalLayoutWidget")
        self.horizontalLayoutWidget.setGeometry(QRect(9, 10, 381, 271))
        self.horizontalLayout = QHBoxLayout(self.horizontalLayoutWidget)
        self.horizontalLayout.setObjectName(u"horizontalLayout")
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.main_list = QListWidget(self.horizontalLayoutWidget)
        self.main_list.setObjectName(u"main_list")

        self.horizontalLayout.addWidget(self.main_list)

        self.verticalLayout = QVBoxLayout()
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.button_add = QPushButton(self.horizontalLayoutWidget)
        self.button_add.setObjectName(u"button_add")

        self.verticalLayout.addWidget(self.button_add)

        self.button_remove = QPushButton(self.horizontalLayoutWidget)
        self.button_remove.setObjectName(u"button_remove")

        self.verticalLayout.addWidget(self.button_remove)

        self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                          QSizePolicy.Expanding)

        self.verticalLayout.addItem(self.verticalSpacer)

        self.button_clear = QPushButton(self.horizontalLayoutWidget)
        self.button_clear.setObjectName(u"button_clear")

        self.verticalLayout.addWidget(self.button_clear)

        self.horizontalLayout.addLayout(self.verticalLayout)

        self.retranslateUi(Form)

        QMetaObject.connectSlotsByName(Form)

    # setupUi

    def retranslateUi(self, Form):
        Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None))
        self.button_add.setText(
            QCoreApplication.translate("Form", u"Add", None))
        self.button_remove.setText(
            QCoreApplication.translate("Form", u"Remove", None))
        self.button_clear.setText(
            QCoreApplication.translate("Form", u"Clear", None))
コード例 #7
0
    def initMenu(self):
        layout = QVBoxLayout()
        hlayout = QHBoxLayout()

        # bouton ajout
        self.tbPlus = QToolButton()
        self.tbPlus.setGeometry(QRect(0, 0, 32, 32))
        self.tbPlus.setIcon(self.iPlus)
        self.tbPlus.setObjectName("tbPlus")

        hlayout.addWidget(self.tbPlus)
        self.tbPlus.clicked.connect(self.add)

        # bouton suppression
        self.tbMinus = QToolButton()
        self.tbMinus.setGeometry(QRect(0, 0, 32, 32))
        self.tbMinus.setIcon(self.iMinus)
        self.tbMinus.setObjectName("tbMinus")

        hlayout.addWidget(self.tbMinus)
        self.tbMinus.clicked.connect(self.delete)

        # bouton édition
        self.tbEdit = QToolButton()
        self.tbEdit.setGeometry(QRect(0, 0, 32, 32))
        self.tbEdit.setIcon(self.iEdit)
        self.tbEdit.setObjectName("tbEdit")

        hlayout.addWidget(self.tbEdit)
        self.tbEdit.clicked.connect(self.editBtn)

        # bouton paramètres
        self.tbParam = QToolButton()
        self.tbParam.setGeometry(QRect(0, 0, 32, 32))
        self.tbParam.setIcon(self.iParam)
        self.tbParam.setObjectName("tbParam")

        hlayout.addWidget(self.tbParam)
        self.tbParam.clicked.connect(self.settings)

        layout.addLayout(hlayout)

        self.pbStop = QPushButton("Don't STOP\n\nthe\n\nSoundBoard")
        self.pbStop.setStyleSheet("font-weight: bold;")
        self.pbStop.setMinimumSize(QSize(100, 100))
        self.pbStop.setGeometry(QRect(0, 0, 100, 100))
        layout.addWidget(self.pbStop)
        self.pbStop.clicked.connect(self.stop)

        spacerMenu = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        layout.addItem(spacerMenu)

        self.windowLayout.addLayout(layout)
コード例 #8
0
ファイル: settings.py プロジェクト: jczigany/gdcadmin
    def __init__(self, parent):
        super(ManageSettings, self).__init__(parent)
        self.setWindowTitle("Paraméterek kezelése")
        widget = QWidget()
        main_layout = QHBoxLayout()
        widget.setLayout(main_layout)

        self.setCentralWidget(widget)
        self.table_view = QTableView()
        main_layout.addWidget(self.table_view)

        self.model = QSqlTableModel(db=db)
        self.model.setTable("settings")
        self.model.select()
        self.model.setEditStrategy(QSqlTableModel.OnManualSubmit)
        self.model.setHeaderData(1, Qt.Horizontal, "Paraméter")
        self.model.setHeaderData(2, Qt.Horizontal, "Érték")

        self.table_view.setModel(self.model)
        self.table_view.setSortingEnabled(True)
        self.table_view.hideColumn(0)
        self.table_view.resizeColumnsToContents()

        self.model.dataChanged.connect(self.valtozott)
        gomb_layout = QVBoxLayout()
        main_layout.addLayout(gomb_layout)

        self.apply_button = QPushButton("Módosítások alkalmazása")
        self.cancel_button = QPushButton("Módosítások elvetése")

        gomb_layout.addWidget(self.apply_button)
        gomb_layout.addWidget(self.cancel_button)

        self.space = QSpacerItem(0, 0, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        gomb_layout.addItem(self.space)

        self.setFixedSize(400, 600)
        tb = self.addToolBar("File")

        exit = QAction(QIcon("images/door--arrow.png"), "Kilépés", self)
        tb.addAction(exit)

        tb.actionTriggered[QAction].connect(self.toolbarpressed)

        self.apply_button.clicked.connect(self.valtozas_mentese)
        self.cancel_button.clicked.connect(self.valtozas_elvetese)
コード例 #9
0
 def __init__(self, parent=None):
     super(MainWindow, self).__init__(parent)
     self.setFixedSize(1200, 920)
     self.setWindowTitle("Vlasov Roman lr3")
     # OpenGL widget
     glWidgetW = 800
     glWidgetH = 900
     self.OpenGLWidget = OpenGLView()
     self.OpenGLWidget.setFixedSize(glWidgetW, glWidgetH)
     self.OpenGLWidget.setIterations(0)
     # number of iterations
     minIter = 0
     maxIter = 6
     self.iterationsLabel = QLabel("Number of iterations: ")
     self.iterationsSpinBox = QSpinBox()
     self.iterationsSpinBox.setMinimum(minIter)
     self.iterationsSpinBox.setMaximum(maxIter)
     self.iterationsSpinBox.valueChanged.connect(self.onSpinPointsChanged)
     self.iterationsSlider = QSlider(QtCore.Qt.Horizontal)
     self.iterationsSlider.setMinimum(minIter)
     self.iterationsSlider.setMaximum(maxIter)
     self.iterationsSlider.valueChanged.connect(self.onSliderPointsChanged)
     self.iterationsMinLabel = QLabel("Min: %d" % minIter)
     self.iterationsMinLabel.setFixedWidth(40)
     self.iterationsMaxLabel = QLabel("Max: %d" % maxIter)
     self.iterationsMaxLabel.setFixedWidth(60)
     line1 = QFrame()
     line1.setFrameShape(QFrame.HLine)
     layoutAmount = QHBoxLayout()
     layoutAmount.addWidget(self.iterationsMinLabel)
     layoutAmount.addWidget(self.iterationsSpinBox)
     layoutAmount.addWidget(self.iterationsMaxLabel)
     # tools panel layout
     layoutTools = QVBoxLayout()
     layoutTools.addWidget(self.iterationsLabel)
     layoutTools.addLayout(layoutAmount)
     layoutTools.addWidget(self.iterationsSlider)
     verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                  QSizePolicy.Expanding)
     layoutTools.addItem(verticalSpacer)
     # window layout
     layout = QHBoxLayout()
     layout.addWidget(self.OpenGLWidget)
     layout.addLayout(layoutTools)
     self.setLayout(layout)
コード例 #10
0
 def __init__(self, parent=None) -> None:
     super().__init__(parent)
     # Sets the title and size of the dialog box
     self.setWindowTitle('Connect to a new WIFI')
     self.resize(200, 100)
     # Set the window to modal, and the user can only close the main
     # interface after closing the popover
     self.setWindowModality(Qt.ApplicationModal)
     # Table layout used to layout QLabel and QLineEdit and QSpinBox
     grid = QGridLayout()
     grid.addWidget(QLabel('SSID', parent=self), 0, 0, 1, 1)
     self.SSIDName = QLineEdit(parent=self)
     self.SSIDName.setText('SSID')
     grid.addWidget(self.SSIDName, 0, 1, 1, 1)
     grid.addWidget(QLabel('password', parent=self), 1, 0, 1, 1)
     self.WIFIpassword = QLineEdit(parent=self)
     self.WIFIpassword.setText('password')
     grid.addWidget(self.WIFIpassword, 1, 1, 1, 1)
     grid.addWidget(
         QLabel(
             'Please enter the SSID and password of the new wifi your '
             'device will connect.After connected,\n'
             'the device will no longer be on this LAN and info in the list '
             'will be refreshed in 5 mins.',
             parent=self), 2, 0, 2, 2)
     # Create ButtonBox, and the user confirms and cancels
     buttonbox = QDialogButtonBox(parent=self)
     buttonbox.setOrientation(Qt.Horizontal)
     buttonbox.setStandardButtons(QDialogButtonBox.Cancel
                                  | QDialogButtonBox.Ok)
     buttonbox.accepted.connect(self.accept)
     buttonbox.rejected.connect(self.reject)
     # Vertical layout, layout tables and buttons
     layout = QVBoxLayout()
     # Add the table layout you created earlier
     layout.addLayout(grid)
     # Put a space object to beautify the layout
     spacer = QSpacerItem(20, 48, QSizePolicy.Minimum,
                          QSizePolicy.Expanding)
     layout.addItem(spacer)
     # ButtonBox
     layout.addWidget(buttonbox)
     self.setLayout(layout)
コード例 #11
0
    def on_help_clicked(self):
        """ Help pop-up """

        d = QDialog()
        l1 = QLabel(
            "1. Press |Load| to download the latest data for the semester.\n\n3. With |Edit| button access the selection menu,\nadded courses will appear on the Main window.\n\n4. Use |Generate| button to generate and\n save your schedule as result<unixtimestamp>.txt"
        )
        b1 = QPushButton("Ok", d)
        vbox = QVBoxLayout()
        vbox.addWidget(l1)
        hbox = QHBoxLayout()
        hbox.addStretch()
        hbox.addWidget(b1)
        hbox.addStretch()
        vbox.addItem(hbox)
        d.setWindowIcon(QIcon("res/logo.ico"))
        d.setWindowTitle("Help")
        d.setLayout(vbox)
        b1.clicked.connect(d.accept)
        d.exec_()
コード例 #12
0
    def on_about_clicked(self):
        """ About pop-up """

        d = QDialog()
        l1 = QLabel(
            "nu-schedule\n\nA course schedule generator for the Nazarbayev University\nHomepage: https://github.com/ac130kz/nu-schedule\nApache 2.0 License\n\n© Mikhail Krassavin, 2020"
        )
        b1 = QPushButton("Ok", d)
        vbox = QVBoxLayout()
        vbox.addWidget(l1)
        hbox = QHBoxLayout()
        hbox.addStretch()
        hbox.addWidget(b1)
        hbox.addStretch()
        vbox.addItem(hbox)
        d.setWindowIcon(QIcon("res/logo.ico"))
        d.setWindowTitle("About")
        d.setLayout(vbox)
        b1.clicked.connect(d.accept)
        d.exec_()
コード例 #13
0
 def __init__(self, parent=None, **info) -> None:
     super().__init__(parent)
     all_info = info['info']
     print(f'Rear:{all_info}')
     self.setWindowTitle('result')
     self.resize(200, 100)
     self.setWindowModality(Qt.ApplicationModal)
     grid = QGridLayout()
     num = 0
     for x in all_info.keys():
         sub_name = QLabel(parent=self)
         sub_name.setText(x)
         grid.addWidget(sub_name, num, 0, 1, 1)
         sub_ret = QLabel(parent=self)
         data = all_info[x]
         if data['error'] == 0:
             sub_ret.setText('succeed')
         else:
             sub_ret.setText('error')
         grid.addWidget(sub_ret, num, 1, 1, 1)
         sub_info = QLabel(parent=self)
         sub_info.setText(str(all_info[x]))
         grid.addWidget(sub_info, num, 2, 2, 1)
         num += 1
     buttonbox = QDialogButtonBox(parent=self)
     buttonbox.setOrientation(Qt.Horizontal)
     buttonbox.setStandardButtons(QDialogButtonBox.Cancel
                                  | QDialogButtonBox.Ok)
     buttonbox.accepted.connect(self.accept)
     buttonbox.rejected.connect(self.reject)
     layout = QVBoxLayout()
     layout.addLayout(grid)
     spacerItem = QSpacerItem(20, 48, QSizePolicy.Minimum,
                              QSizePolicy.Expanding)
     layout.addItem(spacerItem)
     layout.addWidget(buttonbox)
     self.setLayout(layout)
コード例 #14
0
 def setupLayout(self):
     # OpenGL widget
     glWidgetW = 800
     glWidgetH = 900
     self.OpenGLWidget = OpenGLView()
     self.OpenGLWidget.setFixedSize(glWidgetW, glWidgetH)
     self.OpenGLWidget.updatePoints(self.x, self.y, self.z)
     # radio buttons
     self.cubicSplineInterpolationMode = QRadioButton(
         "Cubic Spline Interpolation mode")
     self.cubicSplineInterpolationMode.setChecked(True)
     self.cubicSplineInterpolationMode.toggled.connect(
         self.onModeRadioButtonToggled)
     self.BesierCurveMode = QRadioButton(" Besier Curve mode")
     line1 = QFrame()
     line1.setFrameShape(QFrame.HLine)
     # point coords layout
     pointsLayout = QVBoxLayout()
     [
         pointsLayout.addLayout(
             self.createPointWidget(self.x[i], self.y[i], self.z[i]))
         for i in range(self.points)
     ]
     # tools panel layout
     layoutTools = QVBoxLayout()
     layoutTools.addWidget(self.cubicSplineInterpolationMode)
     layoutTools.addWidget(self.BesierCurveMode)
     layoutTools.addWidget(line1)
     layoutTools.addLayout(pointsLayout)
     verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                  QSizePolicy.Expanding)
     layoutTools.addItem(verticalSpacer)
     # window layout
     layout = QHBoxLayout()
     layout.addWidget(self.OpenGLWidget)
     layout.addLayout(layoutTools)
     self.setLayout(layout)
コード例 #15
0
 def __init__(self, parent=None):
     super(MainWindow, self).__init__(parent)
     self.setFixedSize(1200, 620)
     self.setWindowTitle("Vlasov Roman lr1-2")
     # OpenGL widget
     glWidgetW = 800
     glWidgetH = 600
     self.OpenGLWidget = OpenGLView()
     self.OpenGLWidget.setFixedSize(glWidgetW, glWidgetH)
     self.OpenGLWidget.setMode(0)
     # mode
     self.modeLabel = QLabel("Mode: ")
     self.modeComboBox = QComboBox()
     modes = {
         0: "GL_POINTS",
         1: "GL_LINES",
         2: "GL_LINE_STRIP",
         3: "GL_LINE_LOOP",
         4: "GL_TRIANGLES",
         5: "GL_TRIANGLE_STRIP",
         6: "GL_TRIANGLE_FAN",
         7: "GL_QUADS",
         8: "GL_QUAD_STRIP",
         9: "GL_POLYGON"
     }
     for mode in modes:
         self.modeComboBox.addItem(modes.get(mode))
     self.modeComboBox.currentIndexChanged.connect(self.onModeIndexChanged)
     # number of points
     self.amountLabel = QLabel("Number of points: ")
     self.amountSpinBox = QSpinBox()
     self.amountSpinBox.setMinimum(4)
     self.amountSpinBox.setMaximum(100)
     self.amountSpinBox.valueChanged.connect(self.onSpinPointsChanged)
     self.amountSlider = QSlider(QtCore.Qt.Horizontal)
     self.amountSlider.setMinimum(4)
     self.amountSlider.setMaximum(100)
     self.amountSlider.valueChanged.connect(self.onSliderPointsChanged)
     self.amountMinLabel = QLabel("Min: 4")
     self.amountMinLabel.setFixedWidth(40)
     self.amountMaxLabel = QLabel("Max: 100")
     self.amountMaxLabel.setFixedWidth(60)
     line1 = QFrame()
     line1.setFrameShape(QFrame.HLine)
     layoutAmount = QHBoxLayout()
     layoutAmount.addWidget(self.amountMinLabel)
     layoutAmount.addWidget(self.amountSpinBox)
     layoutAmount.addWidget(self.amountMaxLabel)
     # GL_SCISSOR_TEST
     self.scissorLabel = QLabel("GL_SCISSOR_TEST")
     self.xLabel = QLabel("x")
     self.yLabel = QLabel("y")
     self.wLabel = QLabel("width")
     self.hLabel = QLabel("height")
     line2 = QFrame()
     line2.setFrameShape(QFrame.HLine)
     self.scissorX = QSlider(QtCore.Qt.Horizontal)
     self.scissorY = QSlider(QtCore.Qt.Horizontal)
     self.scissorW = QSlider(QtCore.Qt.Horizontal)
     self.scissorH = QSlider(QtCore.Qt.Horizontal)
     self.scissorX.setMinimum(0)
     self.scissorY.setMinimum(0)
     self.scissorW.setMinimum(0)
     self.scissorH.setMinimum(0)
     self.scissorX.setMaximum(glWidgetW)
     self.scissorY.setMaximum(glWidgetH)
     self.scissorW.setMaximum(glWidgetW)
     self.scissorH.setMaximum(glWidgetH)
     self.scissorX.valueChanged.connect(self.onScissorChanged)
     self.scissorY.valueChanged.connect(self.onScissorChanged)
     self.scissorW.valueChanged.connect(self.onScissorChanged)
     self.scissorH.valueChanged.connect(self.onScissorChanged)
     self.scissorH.setValue(self.scissorH.maximum())
     self.scissorW.setValue(self.scissorW.maximum())
     # GL_ALPHA_TEST
     self.alphaTestLabel = QLabel("GL_ALPHA_TEST")
     self.alphaLabel = QLabel("Function: ")
     self.alphaValueLabel = QLabel("Value: ")
     line3 = QFrame()
     line3.setFrameShape(QFrame.HLine)
     self.alphaComboBox = QComboBox()
     alpha = {
         0: "GL_NEVER",
         1: "GL_LESS",
         2: "GL_EQUAL",
         3: "GL_LEQUAL",
         4: "GL_GREATER",
         5: "GL_NOTEQUAL",
         6: "GL_GEQUAL",
         7: "GL_ALWAYS"
     }
     for mode in alpha:
         self.alphaComboBox.addItem(alpha.get(mode))
     self.alphaComboBox.setCurrentIndex(7)
     self.alphaSlider = QSlider(QtCore.Qt.Horizontal)
     self.alphaSlider.setMinimum(0)
     self.alphaSlider.setMaximum(100)
     self.alphaComboBox.currentIndexChanged.connect(self.onAlphaChanged)
     self.alphaSlider.valueChanged.connect(self.onAlphaChanged)
     # GL_BLEND
     self.blendTestLabel = QLabel("GL_BLEND")
     self.sfactorLabel = QLabel("sfactor: ")
     self.dfactorLabel = QLabel("dfactor: ")
     line4 = QFrame()
     line4.setFrameShape(QFrame.HLine)
     self.blendSComboBox = QComboBox()
     self.blendDComboBox = QComboBox()
     sfactor = {
         0: "GL_ZERO",
         1: "GL_ONE",
         2: "GL_DST_COLOR",
         3: "GL_ONE_MINUS_DST_COLOR",
         4: "GL_SRC_ALPHA",
         5: "GL_ONE_MINUS_SRC_ALPHA",
         6: "GL_DST_ALPHA",
         7: "GL_ONE_MINUS_DST_ALPHA",
         8: "GL_SRC_ALPHA_SATURATE"
     }
     dfactor = {
         0: "GL_ZERO",
         1: "GL_ONE",
         2: "GL_SRC_COLOR",
         3: "GL_ONE_MINUS_SRC_COLOR",
         4: "GL_SRC_ALPHA",
         5: "GL_ONE_MINUS_SRC_ALPHA",
         6: "GL_DST_ALPHA",
         7: "GL_ONE_MINUS_DST_ALPHA"
     }
     for mode in sfactor:
         self.blendSComboBox.addItem(sfactor.get(mode))
     for mode in dfactor:
         self.blendDComboBox.addItem(dfactor.get(mode))
     self.blendSComboBox.currentIndexChanged.connect(self.onBlendChange)
     self.blendDComboBox.currentIndexChanged.connect(self.onBlendChange)
     self.blendSComboBox.setCurrentIndex(1)
     # tools panel layout
     layoutTools = QVBoxLayout()
     layoutTools.addWidget(self.amountLabel)
     layoutTools.addLayout(layoutAmount)
     layoutTools.addWidget(self.amountSlider)
     layoutTools.addWidget(line1)
     layoutTools.addWidget(self.modeLabel)
     layoutTools.addWidget(self.modeComboBox)
     layoutTools.addWidget(line2)
     layoutTools.addWidget(self.scissorLabel)
     layoutTools.addWidget(self.xLabel)
     layoutTools.addWidget(self.scissorX)
     layoutTools.addWidget(self.yLabel)
     layoutTools.addWidget(self.scissorY)
     layoutTools.addWidget(self.wLabel)
     layoutTools.addWidget(self.scissorW)
     layoutTools.addWidget(self.hLabel)
     layoutTools.addWidget(self.scissorH)
     layoutTools.addWidget(line3)
     layoutTools.addWidget(self.alphaTestLabel)
     layoutTools.addWidget(self.alphaLabel)
     layoutTools.addWidget(self.alphaComboBox)
     layoutTools.addWidget(self.alphaValueLabel)
     layoutTools.addWidget(self.alphaSlider)
     layoutTools.addWidget(line4)
     layoutTools.addWidget(self.blendTestLabel)
     layoutTools.addWidget(self.sfactorLabel)
     layoutTools.addWidget(self.blendSComboBox)
     layoutTools.addWidget(self.dfactorLabel)
     layoutTools.addWidget(self.blendDComboBox)
     verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
     layoutTools.addItem(verticalSpacer)
     # window layout
     layout = QHBoxLayout()
     layout.addWidget(self.OpenGLWidget)
     layout.addLayout(layoutTools)
     self.setLayout(layout)
コード例 #16
0
ファイル: net_settings.py プロジェクト: jczigany/scorer
class NetworkSettingsDialog(QDialog):
    def __init__(self, parent=None):
        super(NetworkSettingsDialog, self).__init__(parent)
        self.parent = parent
        self.setModal(True)
        self.setWindowTitle("Hálózati beállítások")
        self.resize(400, 300)
        self.layout = QVBoxLayout()
        self.setLayout(self.layout)
        adatok = QGridLayout()
        self.layout.addLayout(adatok)

        self.ip = QLineEdit()
        self.token = QLineEdit()
        self.station = QLineEdit()
        self.valtozott = False
        self.uj_station = False

        self.is_exist_config()
        self.check_config()

        adatok.addWidget(QLabel("IP cím: "), 0, 0)
        self.ip.setDisabled(True)
        adatok.addWidget(self.ip, 0, 1)

        adatok.addWidget(QLabel("Token: "), 1, 0)
        self.token.setDisabled(True)
        adatok.addWidget(self.token, 1, 1)
        adatok.addWidget(QLabel("Állomás azonosító: "), 2, 0)

        self.station.setDisabled(True)
        self.station.editingFinished.connect(self.change_name)
        adatok.addWidget(self.station, 2, 1)
        self.space = QSpacerItem(0, 0, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        self.layout.addItem(self.space)

        self.buttonbox = QDialogButtonBox(QDialogButtonBox.Ok
                                          | QDialogButtonBox.Cancel)
        self.buttonbox.addButton("Módosít", QDialogButtonBox.ActionRole)
        self.buttonbox.button(QDialogButtonBox.Ok).setText('Mentés')
        self.buttonbox.button(QDialogButtonBox.Ok).setDisabled(True)
        self.buttonbox.button(QDialogButtonBox.Cancel).setText('Mégsem')
        self.buttonbox.clicked.connect(self.buttonbox_click)
        self.layout.addWidget(self.buttonbox)

    def is_exist_config(self):
        ip_fizikai = get_ip_address()

        if os.path.exists('config.ini'):
            # Van config.ini, ki kell értékelni
            config.read('config.ini')

            station_id = config['DEFAULT'].get('station id')
            if (station_id is None) or len(station_id) < 4:
                self.valtozott = True
                msg = QMessageBox()
                msg.setStyleSheet("fonz-size: 20px")
                msg.setWindowTitle("Hibás állomás név!")
                msg.setText(
                    '<html style="font-size: 14px; color: red">Nem megfelelő állomás-azonosító!<br></html>'
                    +
                    '<html style="font-size: 16px">Kérem módosítsa a beállításokat!</html>'
                )
                msg.exec_()
                station = secrets.token_hex(8)
                config.set('DEFAULT', 'station id', station)
                self.station.setText(station)

            ip_config = config['DEFAULT'].get('station ip')
            if ip_fizikai != ip_config:
                self.valtozott = True
                msg = QMessageBox()
                msg.setStyleSheet("fonz-size: 20px")
                msg.setWindowTitle("Hibás beállítás!")
                msg.setText(
                    '<html style="font-size: 14px; color: red">A fizikai IP cím eltér a konfigurációtól!<br></html>'
                    +
                    '<html style="font-size: 16px">Kérem módosítsa a beállításokat!</html>'
                )
                msg.exec_()
                self.ip.setText(ip_fizikai)
                config.set('DEFAULT', 'station ip', ip_fizikai)

            secret = config['DEFAULT'].get('secret key')
            if (secret is None) or len(secret) != 32:
                self.valtozott = True
                newsecret = secrets.token_hex(16)
                config.set('DEFAULT', 'secret key', newsecret)
                self.token.setText(newsecret)

            with open('config.ini', 'w') as configfile:
                config.write(configfile)

        else:
            # Nincs config.ini, alapértékekkel inicializálni
            self.valtozott = True
            msg = QMessageBox()
            msg.setStyleSheet("fonz-size: 20px")
            msg.setWindowTitle("Hiányzó beállítás file!")
            msg.setText(
                '<html style="font-size: 14px; color: red">Nem tudtam beolvasni a konfigurációt!<br></html>'
                +
                '<html style="font-size: 16px">Kérem módosítsa a beállításokat!</html>'
            )
            msg.exec_()
            kulcs = secrets.token_hex(16)
            station = secrets.token_hex(8)
            self.token.setText(kulcs)
            self.ip.setText(ip_fizikai)
            self.station.setText(station)
            config.set('DEFAULT', 'secret key', kulcs)
            config.set('DEFAULT', 'station ip', ip_fizikai)
            config.set('DEFAULT', 'station id', secrets.token_hex(8))
            with open('config.ini', 'w') as configfile:
                config.write(configfile)

    def check_config(self):
        ip_config = config['DEFAULT'].get('station ip')
        station_id = config['DEFAULT'].get('station id')
        secret = config['DEFAULT'].get('secret key')
        self.ip.setText(ip_config)
        self.station.setText(station_id)
        self.token.setText(secret)
        # todo Ellenőrizni, hogy van-e, és mi van a db-ben
        model2 = QSqlQueryModel()
        query = QSqlQuery(
            f"SELECT * FROM reged_station where secret_key = '{secret}'",
            db=db)
        model2.setQuery(query)
        if model2.record(0).value(0):
            if self.station.text() != model2.record(0).value(
                    1) or self.ip.text() != model2.record(0).value(
                        2) or self.token.text() != model2.record(0).value(3):
                self.valtozott = True
                self.rec_id = model2.record(0).value(0)
        else:
            self.uj_station = True

    def change_name(self):
        self.valtozott = True

    def buttonbox_click(self, b):
        if b.text() == "Mentés":
            self.accept()
        elif b.text() == "Módosít":
            self.modify()
        else:
            self.reject()

    def modify(self):
        self.buttonbox.button(QDialogButtonBox.Ok).setDisabled(False)
        self.station.setDisabled(False)

    def accept(self):
        if self.uj_station:
            now = QDateTime.currentDateTime()
            network = QSqlTableModel()
            network.setTable("reged_station")
            rec_net = network.record()
            rec_net.remove(0)
            rec_net.setValue(0, self.station.text())
            rec_net.setValue(1, self.ip.text())
            rec_net.setValue(2, self.token.text())
            rec_net.setValue(3, now)
            if network.insertRecord(-1, rec_net):
                network.submitAll()
            else:
                db.rollback()
            self.uj_station = False

        if self.valtozott:
            # Módosítani a db-t és a config.ini-t
            # config.ini update
            config.set('DEFAULT', 'secret key', self.token.text())
            config.set('DEFAULT', 'station ip', self.ip.text())
            config.set('DEFAULT', 'station id', self.station.text())
            with open('config.ini', 'w') as configfile:
                config.write(configfile)
            # db update
            now = QDateTime.currentDateTime().toString(
                "yyyy-MM-ddThh:mm:ss.sss")
            model3 = QSqlQueryModel()
            query3 = QSqlQuery(
                f"update reged_station set station_id='{self.station.text()}', station_ip='{self.ip.text()}', timestamp='{now}' where secret_key='{self.token.text()}'",
                db=db)
            model3.setQuery(query3)
            self.valtozott = False
        super().accept()

    def reject(self):
        # Ha valami db művelet kell
        if self.valtozott or self.uj_station:
            msg = QMessageBox()
            msg.setStyleSheet("fonz-size: 20px")
            msg.setWindowTitle("Regisztrációs eltérés!")
            msg.setText(
                '<html style="font-size: 14px; color: red">Kérem módosítás után mentse a beállításokat!<br></html>'
            )
            msg.exec_()
        else:
            super().reject()


#
# if __name__ == '__main__':
#     app = QApplication([])
#     win = NetworkSettingsDialog()
#     win.show()
#     app.exec_()
コード例 #17
0
    def initUI(self):
        main_layout = QVBoxLayout(self)

        self.setWindowTitle('DOCXImport')
        self.upd_layout = QVBoxLayout()
        self.update_label = QLabel()
        self.update_label.setAlignment(Qt.AlignCenter)
        self.upd_layout.addWidget(self.update_label)
        self.get_update_button = QPushButton()
        self.get_update_button.clicked.connect(self.get_update)
        self.upd_layout.addWidget(self.get_update_button)
        main_layout.addLayout(self.upd_layout)
        if not self.update:
            self.update_label.hide()
            self.get_update_button.hide()

        self.details_grid = QGridLayout()
        self.epub2_select = QRadioButton()
        self.epub2_select.setText('EPUB2')
        self.epubType = QButtonGroup()
        self.epubType.addButton(self.epub2_select)
        self.details_grid.addWidget(self.epub2_select, 0, 0, 1, 1)
        self.checkbox_get_updates = QCheckBox()
        self.details_grid.addWidget(self.checkbox_get_updates, 0, 1, 1, 1)
        self.epub3_select = QRadioButton()
        self.epub3_select.setText('EPUB3')
        self.epubType.addButton(self.epub3_select)
        self.details_grid.addWidget(self.epub3_select, 1, 0, 1, 1)
        main_layout.addLayout(self.details_grid)
        self.checkbox_get_updates.setChecked(self.prefs['check_for_updates'])
        if self.prefs['epub_version'] == '2.0':
            self.epub2_select.setChecked(True)
        elif self.prefs['epub_version'] == '3.0':
            self.epub3_select.setChecked(True)
        else:
            self.epub2_select.setChecked(True)

        self.groupBox = QGroupBox()
        self.groupBox.setTitle('')
        self.verticalLayout_2 = QVBoxLayout(self.groupBox)
        self.docx_grid = QGridLayout()
        self.docx_label = QLabel()
        self.docx_grid.addWidget(self.docx_label, 0, 0, 1, 1)
        self.docx_path = QLineEdit()
        self.docx_grid.addWidget(self.docx_path, 1, 0, 1, 1)
        self.choose_docx_button = QPushButton()
        self.choose_docx_button.setText('...')
        self.docx_grid.addWidget(self.choose_docx_button, 1, 1, 1, 1)
        self.verticalLayout_2.addLayout(self.docx_grid)
        self.choose_docx_button.clicked.connect(
            lambda: self.fileChooser('docx', self.docx_path))
        if len(self.prefs['lastDocxPath']):
            self.docx_path.setText(self.prefs['lastDocxPath'])
        self.docx_path.setEnabled(False)

        self.smap_grid = QGridLayout()
        self.checkbox_smap = QCheckBox(self.groupBox)
        self.smap_grid.addWidget(self.checkbox_smap, 0, 0, 1, 1)
        self.cust_smap_path = QLineEdit(self.groupBox)
        self.smap_grid.addWidget(self.cust_smap_path, 1, 0, 1, 1)
        self.choose_smap_button = QPushButton(self.groupBox)
        self.choose_smap_button.setText('...')
        self.smap_grid.addWidget(self.choose_smap_button, 1, 1, 1, 1)
        self.verticalLayout_2.addLayout(self.smap_grid)
        self.checkbox_smap.setChecked(self.prefs['useSmap'])
        self.checkbox_smap.stateChanged.connect(lambda: self.chkBoxActions(
            self.checkbox_smap, self.choose_smap_button))
        self.choose_smap_button.clicked.connect(
            lambda: self.fileChooser('smap', self.cust_smap_path, self.
                                     checkbox_smap, self.choose_smap_button))
        if len(self.prefs['useSmapPath']):
            self.cust_smap_path.setText(self.prefs['useSmapPath'])
        self.cust_smap_path.setEnabled(False)
        self.chkBoxActions(self.checkbox_smap, self.choose_smap_button)

        self.css_grid = QGridLayout()
        self.checkbox_css = QCheckBox(self.groupBox)
        self.css_grid.addWidget(self.checkbox_css, 0, 0, 1, 1)
        self.cust_css_path = QLineEdit(self.groupBox)
        self.css_grid.addWidget(self.cust_css_path, 1, 0, 1, 1)
        self.choose_css_button = QPushButton(self.groupBox)
        self.choose_css_button.setText('...')
        self.css_grid.addWidget(self.choose_css_button, 1, 1, 1, 1)
        self.verticalLayout_2.addLayout(self.css_grid)
        self.checkbox_css.setChecked(self.prefs['useCss'])
        self.checkbox_css.stateChanged.connect(lambda: self.chkBoxActions(
            self.checkbox_css, self.choose_css_button))
        self.choose_css_button.clicked.connect(
            lambda: self.fileChooser('css', self.cust_css_path, self.
                                     checkbox_css, self.choose_css_button))
        if len(self.prefs['useCssPath']):
            self.cust_css_path.setText(self.prefs['useCssPath'])
        self.cust_css_path.setEnabled(False)
        self.chkBoxActions(self.checkbox_css, self.choose_css_button)

        main_layout.addWidget(self.groupBox)
        self.checkbox_debug = QCheckBox()
        main_layout.addWidget(self.checkbox_debug)
        self.checkbox_debug.setChecked(self.prefs['debug'])

        spacerItem = QSpacerItem(20, 15, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        main_layout.addItem(spacerItem)

        button_box = QDialogButtonBox(QDialogButtonBox.Ok
                                      | QDialogButtonBox.Cancel)
        button_box.accepted.connect(self._ok_clicked)
        button_box.rejected.connect(self._cancel_clicked)
        main_layout.addWidget(button_box)
        self.retranslateUi(self)
        if self.prefs['qt_geometry'] is not None:
            try:
                self.restoreGeometry(
                    QByteArray.fromHex(
                        self.prefs['qt_geometry'].encode('ascii')))
            except:
                pass
        self.show()
コード例 #18
0
ファイル: tz_wishlist.py プロジェクト: Lucky324/wish_list
class Window(QDialog):
    def check_input(self):
        flag = 0
        if self.newName.text() == "":
            flag += 1
            text, ok = QInputDialog.getText(self, 'Input Dialog',
                                            'Enter lot name:')
            if ok:
                self.newName.setText(str(text))
        if self.newCost.text() == "":
            flag += 1
            text, ok = QInputDialog.getText(self, 'Input Dialog',
                                            'Enter lot cost:')
            if ok:
                self.newCost.setText(str(text))
        if self.newLink.text() == "":
            flag += 1
            text, ok = QInputDialog.getText(self, 'Input Dialog',
                                            'Enter lot link:')
            if ok:
                self.newLink.setText(str(text))
        if self.newNote.text() == "":
            flag += 1
            text, ok = QInputDialog.getText(self, 'Input Dialog',
                                            'Enter lot note:')
            if ok:
                self.newNote.setText(str(text))
        return flag

    def onDeleteButton(self):
        text, ok = QInputDialog.getText(self, 'Input Dialog',
                                        'Enter lot name:')
        if ok:
            delete_wish(str(text))
        self.refresh_table()
        self.table.update()
        self.layout.update()

    def onAddButton(self):
        flag = self.check_input()
        if flag == 0:
            add_lot(self.newName.text(), self.newCost.text(),
                    self.newLink.text(), self.newNote.text())
        self.refresh_table()
        self.table.update()
        self.layout.update()
        self.newName.setText("")
        self.newCost.setText("")
        self.newLink.setText("")
        self.newNote.setText("")

    def createLotLayout(self, name, cost, link, note):
        layout = QHBoxLayout()
        lotName = QLabel(name)
        lotCost = QLabel(cost)
        lotLink = QLabel(link)
        lotNote = QLabel(note)
        layout.addWidget(lotName)
        layout.addWidget(lotCost)
        layout.addWidget(lotLink)
        layout.addWidget(lotNote)
        return layout

    def refresh_table(self):
        self.table.setRowCount(get_size() + 1)
        self.table.setColumnCount(4)
        self.table.horizontalHeader().setStretchLastSection(True)
        self.table.horizontalHeader().setSectionResizeMode(
            0, QHeaderView.Stretch)
        self.table.horizontalHeader().setSectionResizeMode(
            1, QHeaderView.Stretch)
        self.table.horizontalHeader().setSectionResizeMode(
            2, QHeaderView.Stretch)

        self.table.setItem(0, 0, QTableWidgetItem("name"))
        self.table.setItem(0, 1, QTableWidgetItem("cost"))
        self.table.setItem(0, 2, QTableWidgetItem("link"))
        self.table.setItem(0, 3, QTableWidgetItem("note"))

        data = get_wishes()
        tmp = 1
        for i in data:
            self.table.setItem(tmp, 0, QTableWidgetItem(i['name']))
            self.table.setItem(tmp, 1, QTableWidgetItem(i['cost']))
            self.table.setItem(tmp, 2, QTableWidgetItem(i['link']))
            self.table.setItem(tmp, 3, QTableWidgetItem(i['note']))
            tmp += 1

    def setupLayout(self):
        self.table = QTableWidget()
        self.table.setMinimumHeight(725)
        self.refresh_table()
        self.layout = QVBoxLayout()
        self.layout.addWidget(self.table)
        inputLayout = QHBoxLayout()
        self.newName = QLineEdit()
        self.newCost = QLineEdit()
        self.newLink = QLineEdit()
        self.newNote = QLineEdit()
        self.addButton = QPushButton()
        self.addButton.pressed.connect(self.onAddButton)
        self.addButton.setText("add")
        inputLayout.addWidget(self.newName)
        inputLayout.addWidget(self.newCost)
        inputLayout.addWidget(self.newLink)
        inputLayout.addWidget(self.newNote)
        inputLayout.addWidget(self.addButton)
        self.layout.addLayout(inputLayout)

        self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                          QSizePolicy.Expanding)
        self.layout.addItem(self.verticalSpacer)

        self.deleteButton = QPushButton()
        self.deleteButton.setText("delete")
        self.deleteButton.pressed.connect(self.onDeleteButton)
        self.layout.addWidget(self.deleteButton)

        self.setLayout(self.layout)

    def __init__(self, parent=None):
        super(Window, self).__init__(parent)
        self.setWindowTitle("Wishlist")
        self.setMinimumSize(1100, 820)

        self.setupLayout()

    def close(self) -> bool:
        close_db()
コード例 #19
0
ファイル: TaskPanelFin.py プロジェクト: luzpaz/Rocket
    def setTabGeneral(self, sketch):

        ui = FreeCADGui.UiLoader()

        # Select the type of fin
        self.finTypeLabel = QtGui.QLabel(translate('Rocket', "Fin type"), self)

        if not sketch:
            self.finTypes = (
                FIN_TYPE_TRAPEZOID,
                FIN_TYPE_ELLIPSE,
                #FIN_TYPE_TUBE,
            )
        else:
            self.finTypes = (FIN_TYPE_SKETCH, )
        self.finTypesCombo = QtGui.QComboBox(self)
        self.finTypesCombo.addItems(self.finTypes)

        # Get the fin parameters: length, width, etc...
        self.rootGroup = QtGui.QGroupBox(translate('Rocket', "Fin Root"), self)

        # Select the type of cross section
        self.rootCrossSectionLabel = QtGui.QLabel(
            translate('Rocket', "Cross Section"), self)

        self.rootCrossSections = (FIN_CROSS_SQUARE, FIN_CROSS_ROUND,
                                  FIN_CROSS_AIRFOIL, FIN_CROSS_WEDGE,
                                  FIN_CROSS_DIAMOND, FIN_CROSS_TAPER_LE,
                                  FIN_CROSS_TAPER_TE, FIN_CROSS_TAPER_LETE)
        self.rootEllipseCrossSections = (FIN_CROSS_SQUARE, FIN_CROSS_ROUND,
                                         FIN_CROSS_AIRFOIL, FIN_CROSS_WEDGE,
                                         FIN_CROSS_DIAMOND,
                                         FIN_CROSS_TAPER_LETE)
        self.rootCrossSectionsCombo = QtGui.QComboBox(self)
        self.rootCrossSectionsCombo.addItems(self.rootCrossSections)

        # Get the fin parameters: length, width, etc...
        self.rootChordLabel = QtGui.QLabel(translate('Rocket', "Chord"), self)

        self.rootChordInput = ui.createWidget("Gui::InputField")
        self.rootChordInput.unit = 'mm'
        self.rootChordInput.setFixedWidth(80)

        self.rootThicknessLabel = QtGui.QLabel(
            translate('Rocket', "Thickness"), self)

        self.rootThicknessInput = ui.createWidget("Gui::InputField")
        self.rootThicknessInput.unit = 'mm'
        self.rootThicknessInput.setFixedWidth(80)

        self.rootPerCentLabel = QtGui.QLabel(
            translate('Rocket', "Use percentage"), self)

        self.rootPerCentCheckbox = QtGui.QCheckBox(self)
        self.rootPerCentCheckbox.setCheckState(QtCore.Qt.Unchecked)

        self.rootLength1Label = QtGui.QLabel(translate('Rocket', "Length 1"),
                                             self)

        self.rootLength1Input = ui.createWidget("Gui::InputField")
        self.rootLength1Input.unit = 'mm'
        self.rootLength1Input.setFixedWidth(80)

        self.rootLength2Label = QtGui.QLabel(translate('Rocket', "Length 2"),
                                             self)

        self.rootLength2Input = ui.createWidget("Gui::InputField")
        self.rootLength2Input.unit = 'mm'
        self.rootLength2Input.setFixedWidth(80)

        self.tipGroup = QtGui.QGroupBox(translate('Rocket', "Fin Tip"), self)

        # Select the type of cross section
        self.tipCrossSectionLabel = QtGui.QLabel(
            translate('Rocket', "Cross Section"), self)

        self.tipCrossSections = (FIN_CROSS_SAME, FIN_CROSS_SQUARE,
                                 FIN_CROSS_ROUND, FIN_CROSS_AIRFOIL,
                                 FIN_CROSS_WEDGE, FIN_CROSS_DIAMOND,
                                 FIN_CROSS_TAPER_LE, FIN_CROSS_TAPER_TE,
                                 FIN_CROSS_TAPER_LETE)
        self.tipCrossSectionsCombo = QtGui.QComboBox(self)
        self.tipCrossSectionsCombo.addItems(self.tipCrossSections)

        self.tipChordLabel = QtGui.QLabel(translate('Rocket', "Chord"), self)

        self.tipChordInput = ui.createWidget("Gui::InputField")
        self.tipChordInput.unit = 'mm'
        self.tipChordInput.setFixedWidth(80)

        self.tipThicknessLabel = QtGui.QLabel(translate('Rocket', "Thickness"),
                                              self)

        self.tipThicknessInput = ui.createWidget("Gui::InputField")
        self.tipThicknessInput.unit = 'mm'
        self.tipThicknessInput.setFixedWidth(80)

        self.tipPerCentLabel = QtGui.QLabel(
            translate('Rocket', "Use percentage"), self)

        self.tipPerCentCheckbox = QtGui.QCheckBox(self)
        self.tipPerCentCheckbox.setCheckState(QtCore.Qt.Unchecked)

        self.tipLength1Label = QtGui.QLabel(translate('Rocket', "Length 1"),
                                            self)

        self.tipLength1Input = ui.createWidget("Gui::InputField")
        self.tipLength1Input.unit = 'mm'
        self.tipLength1Input.setFixedWidth(80)

        self.tipLength2Label = QtGui.QLabel(translate('Rocket', "Length 2"),
                                            self)

        self.tipLength2Input = ui.createWidget("Gui::InputField")
        self.tipLength2Input.unit = 'mm'
        self.tipLength2Input.setFixedWidth(80)

        self.heightLabel = QtGui.QLabel(translate('Rocket', "Height"), self)

        self.heightInput = ui.createWidget("Gui::InputField")
        self.heightInput.unit = 'mm'
        self.heightInput.setFixedWidth(80)

        # Sweep can be forward (-sweep) or backward (+sweep)
        self.sweepLengthLabel = QtGui.QLabel(
            translate('Rocket', "Sweep Length"), self)

        self.sweepLengthInput = ui.createWidget("Gui::InputField")
        self.sweepLengthInput.unit = 'mm'
        self.sweepLengthInput.setFixedWidth(80)

        # Sweep angle is tied to sweep length. It can be forward (> -90) or backward (< 90)
        self.sweepAngleLabel = QtGui.QLabel(translate('Rocket', "Sweep Angle"),
                                            self)

        self.sweepAngleInput = ui.createWidget("Gui::InputField")
        self.sweepAngleInput.unit = 'deg'
        self.sweepAngleInput.setFixedWidth(80)

        # Root group
        row = 0
        grid = QGridLayout()

        grid.addWidget(self.rootCrossSectionLabel, row, 0)
        grid.addWidget(self.rootCrossSectionsCombo, row, 1)
        row += 1

        grid.addWidget(self.rootChordLabel, row, 0)
        grid.addWidget(self.rootChordInput, row, 1)
        row += 1

        grid.addWidget(self.rootThicknessLabel, row, 0)
        grid.addWidget(self.rootThicknessInput, row, 1)
        row += 1

        grid.addWidget(self.rootPerCentLabel, row, 0)
        grid.addWidget(self.rootPerCentCheckbox, row, 1)
        row += 1

        grid.addWidget(self.rootLength1Label, row, 0)
        grid.addWidget(self.rootLength1Input, row, 1)
        row += 1

        grid.addWidget(self.rootLength2Label, row, 0)
        grid.addWidget(self.rootLength2Input, row, 1)

        self.rootGroup.setLayout(grid)

        # Tip group
        row = 0
        grid = QGridLayout()

        grid.addWidget(self.tipCrossSectionLabel, row, 0)
        grid.addWidget(self.tipCrossSectionsCombo, row, 1)
        row += 1

        grid.addWidget(self.tipChordLabel, row, 0)
        grid.addWidget(self.tipChordInput, row, 1)
        row += 1

        grid.addWidget(self.tipThicknessLabel, row, 0)
        grid.addWidget(self.tipThicknessInput, row, 1)
        row += 1

        grid.addWidget(self.tipPerCentLabel, row, 0)
        grid.addWidget(self.tipPerCentCheckbox, row, 1)
        row += 1

        grid.addWidget(self.tipLength1Label, row, 0)
        grid.addWidget(self.tipLength1Input, row, 1)
        row += 1

        grid.addWidget(self.tipLength2Label, row, 0)
        grid.addWidget(self.tipLength2Input, row, 1)

        self.tipGroup.setLayout(grid)

        # Main items
        row = 0
        grid = QGridLayout()

        grid.addWidget(self.finTypeLabel, row, 0)
        grid.addWidget(self.finTypesCombo, row, 1)
        row += 1

        grid.addWidget(self.heightLabel, row, 0)
        grid.addWidget(self.heightInput, row, 1)
        row += 1

        grid.addWidget(self.sweepLengthLabel, row, 0)
        grid.addWidget(self.sweepLengthInput, row, 1)
        row += 1

        grid.addWidget(self.sweepAngleLabel, row, 0)
        grid.addWidget(self.sweepAngleInput, row, 1)

        layout = QVBoxLayout()
        layout.addItem(grid)
        layout.addWidget(self.rootGroup)
        layout.addWidget(self.tipGroup)
        layout.addItem(
            QtGui.QSpacerItem(0, 0, QSizePolicy.Expanding,
                              QSizePolicy.Expanding))

        self.tabGeneral.setLayout(layout)
コード例 #20
0
    def __init__(self, parent=None):
        super(_RailButtonDialog, self).__init__(parent)

        ui = FreeCADGui.UiLoader()

        # define our window
        self.setGeometry(250, 250, 400, 350)
        self.setWindowTitle(translate('Rocket', "Rail Button Parameter"))

        self.railButtonTypeLabel = QtGui.QLabel(
            translate('Rocket', "Rail Button Shape"), self)

        self.railButtonTypes = (RAIL_BUTTON_ROUND, RAIL_BUTTON_AIRFOIL)
        self.railButtonTypeCombo = QtGui.QComboBox(self)
        self.railButtonTypeCombo.addItems(self.railButtonTypes)

        # Get the rail button parameters
        self.odLabel = QtGui.QLabel(translate('Rocket', "Outer Diameter"),
                                    self)

        self.odInput = ui.createWidget("Gui::InputField")
        self.odInput.unit = 'mm'
        self.odInput.setFixedWidth(80)

        self.idLabel = QtGui.QLabel(translate('Rocket', "Inner Diameter"),
                                    self)

        self.idInput = ui.createWidget("Gui::InputField")
        self.idInput.unit = 'mm'
        self.idInput.setFixedWidth(80)

        self.topThicknessLabel = QtGui.QLabel(
            translate('Rocket', "Top Thickness"), self)

        self.topThicknessInput = ui.createWidget("Gui::InputField")
        self.topThicknessInput.unit = 'mm'
        self.topThicknessInput.setFixedWidth(80)

        self.baseThicknessLabel = QtGui.QLabel(
            translate('Rocket', "Base Thickness"), self)

        self.baseThicknessInput = ui.createWidget("Gui::InputField")
        self.baseThicknessInput.unit = 'mm'
        self.baseThicknessInput.setFixedWidth(80)

        self.thicknessLabel = QtGui.QLabel(
            translate('Rocket', "Total Thickness"), self)

        self.thicknessInput = ui.createWidget("Gui::InputField")
        self.thicknessInput.unit = 'mm'
        self.thicknessInput.setFixedWidth(80)

        self.lengthLabel = QtGui.QLabel(translate('Rocket', "Length"), self)

        self.lengthInput = ui.createWidget("Gui::InputField")
        self.lengthInput.unit = 'mm'
        self.lengthInput.setFixedWidth(80)

        self.fastenerGroup = QtGui.QGroupBox(translate('Rocket', "Fastener"),
                                             self)
        self.fastenerGroup.setCheckable(True)

        self.countersinkLabel = QtGui.QLabel(
            translate('Rocket', "Contersink Angle"), self)

        self.countersinkTypes = (CONTERSINK_ANGLE_60, CONTERSINK_ANGLE_82,
                                 CONTERSINK_ANGLE_90, CONTERSINK_ANGLE_100,
                                 CONTERSINK_ANGLE_110, CONTERSINK_ANGLE_120)
        self.countersinkTypeCombo = QtGui.QComboBox(self)
        self.countersinkTypeCombo.addItems(self.countersinkTypes)

        self.headDiameterLabel = QtGui.QLabel(
            translate('Rocket', "Head Diameter"), self)

        self.headDiameterInput = ui.createWidget("Gui::InputField")
        self.headDiameterInput.unit = 'mm'
        self.headDiameterInput.setFixedWidth(80)

        self.shankDiameterLabel = QtGui.QLabel(
            translate('Rocket', "Shank Diameter"), self)

        self.shankDiameterInput = ui.createWidget("Gui::InputField")
        self.shankDiameterInput.unit = 'mm'
        self.shankDiameterInput.setFixedWidth(80)

        self.fastenerPresetLabel = QtGui.QLabel(translate('Rocket', "Presets"),
                                                self)

        self.fastenerPresetTypes = ("", FASTENER_PRESET_6, FASTENER_PRESET_8,
                                    FASTENER_PRESET_10, FASTENER_PRESET_1_4)
        self.fastenerPresetCombo = QtGui.QComboBox(self)
        self.fastenerPresetCombo.addItems(self.fastenerPresetTypes)

        self.filletGroup = QtGui.QGroupBox(translate('Rocket', "Top Fillet"),
                                           self)
        self.filletGroup.setCheckable(True)

        self.filletRadiusLevel = QtGui.QLabel(translate('Rocket', "Radius"),
                                              self)

        self.filletRadiusInput = ui.createWidget("Gui::InputField")
        self.filletRadiusInput.unit = 'mm'
        self.filletRadiusInput.setFixedWidth(80)

        # Fastener group
        row = 0
        grid = QGridLayout()

        grid.addWidget(self.countersinkLabel, row, 0)
        grid.addWidget(self.countersinkTypeCombo, row, 1)
        row += 1

        grid.addWidget(self.headDiameterLabel, row, 0)
        grid.addWidget(self.headDiameterInput, row, 1)
        row += 1

        grid.addWidget(self.shankDiameterLabel, row, 0)
        grid.addWidget(self.shankDiameterInput, row, 1)
        row += 1

        grid.addWidget(self.fastenerPresetLabel, row, 0)
        grid.addWidget(self.fastenerPresetCombo, row, 1)

        self.fastenerGroup.setLayout(grid)

        # Fillet group
        row = 0
        grid = QGridLayout()

        grid.addWidget(self.filletRadiusLevel, row, 0)
        grid.addWidget(self.filletRadiusInput, row, 1)
        row += 1

        self.filletGroup.setLayout(grid)

        # General parameters
        row = 0
        grid = QGridLayout()

        grid.addWidget(self.railButtonTypeLabel, row, 0)
        grid.addWidget(self.railButtonTypeCombo, row, 1)
        row += 1

        grid.addWidget(self.odLabel, row, 0)
        grid.addWidget(self.odInput, row, 1)
        row += 1

        grid.addWidget(self.idLabel, row, 0)
        grid.addWidget(self.idInput, row, 1)
        row += 1

        grid.addWidget(self.topThicknessLabel, row, 0)
        grid.addWidget(self.topThicknessInput, row, 1)
        row += 1

        grid.addWidget(self.baseThicknessLabel, row, 0)
        grid.addWidget(self.baseThicknessInput, row, 1)
        row += 1

        grid.addWidget(self.thicknessLabel, row, 0)
        grid.addWidget(self.thicknessInput, row, 1)
        row += 1

        grid.addWidget(self.lengthLabel, row, 0)
        grid.addWidget(self.lengthInput, row, 1)

        layout = QVBoxLayout()
        layout.addItem(grid)
        layout.addWidget(self.fastenerGroup)
        layout.addWidget(self.filletGroup)

        self.setLayout(layout)
コード例 #21
0
ファイル: bmd_statistics.py プロジェクト: maltesie/bridge2
class Ui_GroupBox(object):
    def setupUi(self, GroupBox):
        if not GroupBox.objectName():
            GroupBox.setObjectName(u"GroupBox")
        GroupBox.resize(535, 520)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(GroupBox.sizePolicy().hasHeightForWidth())
        GroupBox.setSizePolicy(sizePolicy)
        self.verticalLayout_2 = QVBoxLayout(GroupBox)
        self.verticalLayout_2.setObjectName(u"verticalLayout_2")
        self.groupBox_occupancy_histogram = QGroupBox(GroupBox)
        self.groupBox_occupancy_histogram.setObjectName(
            u"groupBox_occupancy_histogram")
        self.verticalLayout = QVBoxLayout(self.groupBox_occupancy_histogram)
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.horizontalLayout = QHBoxLayout()
        self.horizontalLayout.setObjectName(u"horizontalLayout")
        self.label_56 = QLabel(self.groupBox_occupancy_histogram)
        self.label_56.setObjectName(u"label_56")
        self.label_56.setMaximumSize(QSize(16777215, 16777215))
        self.label_56.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                   | Qt.AlignVCenter)

        self.horizontalLayout.addWidget(self.label_56)

        self.lineEdit_bins = QLineEdit(self.groupBox_occupancy_histogram)
        self.lineEdit_bins.setObjectName(u"lineEdit_bins")
        self.lineEdit_bins.setMinimumSize(QSize(50, 0))
        self.lineEdit_bins.setMaximumSize(QSize(50, 16777215))

        self.horizontalLayout.addWidget(self.lineEdit_bins)

        self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout.addItem(self.horizontalSpacer_3)

        self.label_55 = QLabel(self.groupBox_occupancy_histogram)
        self.label_55.setObjectName(u"label_55")
        self.label_55.setMaximumSize(QSize(16777215, 16777215))
        self.label_55.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                   | Qt.AlignVCenter)

        self.horizontalLayout.addWidget(self.label_55)

        self.lineEdit_minimum = QLineEdit(self.groupBox_occupancy_histogram)
        self.lineEdit_minimum.setObjectName(u"lineEdit_minimum")
        self.lineEdit_minimum.setMinimumSize(QSize(50, 0))
        self.lineEdit_minimum.setMaximumSize(QSize(50, 16777215))

        self.horizontalLayout.addWidget(self.lineEdit_minimum)

        self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout.addItem(self.horizontalSpacer_2)

        self.label_17 = QLabel(self.groupBox_occupancy_histogram)
        self.label_17.setObjectName(u"label_17")
        self.label_17.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                   | Qt.AlignVCenter)

        self.horizontalLayout.addWidget(self.label_17)

        self.lineEdit_maximum = QLineEdit(self.groupBox_occupancy_histogram)
        self.lineEdit_maximum.setObjectName(u"lineEdit_maximum")
        self.lineEdit_maximum.setMinimumSize(QSize(50, 0))
        self.lineEdit_maximum.setMaximumSize(QSize(50, 16777215))

        self.horizontalLayout.addWidget(self.lineEdit_maximum)

        self.verticalLayout.addLayout(self.horizontalLayout)

        self.horizontalLayout_7 = QHBoxLayout()
        self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
        self.checkBox_cumulative_histogram = QCheckBox(
            self.groupBox_occupancy_histogram)
        self.checkBox_cumulative_histogram.setObjectName(
            u"checkBox_cumulative_histogram")

        self.horizontalLayout_7.addWidget(self.checkBox_cumulative_histogram)

        self.horizontalSpacer_12 = QSpacerItem(40, 20, QSizePolicy.Fixed,
                                               QSizePolicy.Minimum)

        self.horizontalLayout_7.addItem(self.horizontalSpacer_12)

        self.checkBox_stacked_histogram = QCheckBox(
            self.groupBox_occupancy_histogram)
        self.checkBox_stacked_histogram.setObjectName(
            u"checkBox_stacked_histogram")

        self.horizontalLayout_7.addWidget(self.checkBox_stacked_histogram)

        self.horizontalSpacer_11 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                               QSizePolicy.Minimum)

        self.horizontalLayout_7.addItem(self.horizontalSpacer_11)

        self.verticalLayout.addLayout(self.horizontalLayout_7)

        self.horizontalLayout_6 = QHBoxLayout()
        self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
        self.checkBox_color_segments_occupancy = QCheckBox(
            self.groupBox_occupancy_histogram)
        self.checkBox_color_segments_occupancy.setObjectName(
            u"checkBox_color_segments_occupancy")
        self.checkBox_color_segments_occupancy.setChecked(True)

        self.horizontalLayout_6.addWidget(
            self.checkBox_color_segments_occupancy)

        self.horizontalSpacer_9 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_6.addItem(self.horizontalSpacer_9)

        self.verticalLayout.addLayout(self.horizontalLayout_6)

        self.horizontalLayout_2 = QHBoxLayout()
        self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
        self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                            QSizePolicy.Minimum)

        self.horizontalLayout_2.addItem(self.horizontalSpacer)

        self.pushButton_save_occupancy = QPushButton(
            self.groupBox_occupancy_histogram)
        self.pushButton_save_occupancy.setObjectName(
            u"pushButton_save_occupancy")

        self.horizontalLayout_2.addWidget(self.pushButton_save_occupancy)

        self.pushButton_plot_occupancy = QPushButton(
            self.groupBox_occupancy_histogram)
        self.pushButton_plot_occupancy.setObjectName(
            u"pushButton_plot_occupancy")
        self.pushButton_plot_occupancy.setAutoDefault(False)

        self.horizontalLayout_2.addWidget(self.pushButton_plot_occupancy)

        self.verticalLayout.addLayout(self.horizontalLayout_2)

        self.verticalLayout_2.addWidget(self.groupBox_occupancy_histogram)

        self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                            QSizePolicy.Expanding)

        self.verticalLayout_2.addItem(self.verticalSpacer_2)

        self.groupBox_nb_connections = QGroupBox(GroupBox)
        self.groupBox_nb_connections.setObjectName(u"groupBox_nb_connections")
        self.verticalLayout_3 = QVBoxLayout(self.groupBox_nb_connections)
        self.verticalLayout_3.setObjectName(u"verticalLayout_3")
        self.horizontalLayout_5 = QHBoxLayout()
        self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
        self.checkBox_color_segments_timeseries = QCheckBox(
            self.groupBox_nb_connections)
        self.checkBox_color_segments_timeseries.setObjectName(
            u"checkBox_color_segments_timeseries")
        self.checkBox_color_segments_timeseries.setChecked(True)

        self.horizontalLayout_5.addWidget(
            self.checkBox_color_segments_timeseries)

        self.horizontalSpacer_7 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_5.addItem(self.horizontalSpacer_7)

        self.verticalLayout_3.addLayout(self.horizontalLayout_5)

        self.horizontalLayout_4 = QHBoxLayout()
        self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
        self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_4.addItem(self.horizontalSpacer_5)

        self.pushButton_save_timeseries = QPushButton(
            self.groupBox_nb_connections)
        self.pushButton_save_timeseries.setObjectName(
            u"pushButton_save_timeseries")

        self.horizontalLayout_4.addWidget(self.pushButton_save_timeseries)

        self.pushButton_plot_timeseries = QPushButton(
            self.groupBox_nb_connections)
        self.pushButton_plot_timeseries.setObjectName(
            u"pushButton_plot_timeseries")
        self.pushButton_plot_timeseries.setAutoDefault(False)

        self.horizontalLayout_4.addWidget(self.pushButton_plot_timeseries)

        self.verticalLayout_3.addLayout(self.horizontalLayout_4)

        self.verticalLayout_2.addWidget(self.groupBox_nb_connections)

        self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                          QSizePolicy.Expanding)

        self.verticalLayout_2.addItem(self.verticalSpacer)

        self.groupBox_joint_occupancy = QGroupBox(GroupBox)
        self.groupBox_joint_occupancy.setObjectName(
            u"groupBox_joint_occupancy")
        self.verticalLayout_4 = QVBoxLayout(self.groupBox_joint_occupancy)
        self.verticalLayout_4.setObjectName(u"verticalLayout_4")
        self.horizontalLayout_10 = QHBoxLayout()
        self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
        self.radioButton_scatter = QRadioButton(self.groupBox_joint_occupancy)
        self.radioButton_scatter.setObjectName(u"radioButton_scatter")
        self.radioButton_scatter.setChecked(True)

        self.horizontalLayout_10.addWidget(self.radioButton_scatter)

        self.label_3 = QLabel(self.groupBox_joint_occupancy)
        self.label_3.setObjectName(u"label_3")

        self.horizontalLayout_10.addWidget(self.label_3)

        self.lineEdit_scatter_size = QLineEdit(self.groupBox_joint_occupancy)
        self.lineEdit_scatter_size.setObjectName(u"lineEdit_scatter_size")
        self.lineEdit_scatter_size.setMaximumSize(QSize(50, 16777215))

        self.horizontalLayout_10.addWidget(self.lineEdit_scatter_size)

        self.horizontalSpacer_10 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                               QSizePolicy.Minimum)

        self.horizontalLayout_10.addItem(self.horizontalSpacer_10)

        self.verticalLayout_4.addLayout(self.horizontalLayout_10)

        self.horizontalLayout_3 = QHBoxLayout()
        self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
        self.radioButton_heatmap = QRadioButton(self.groupBox_joint_occupancy)
        self.radioButton_heatmap.setObjectName(u"radioButton_heatmap")

        self.horizontalLayout_3.addWidget(self.radioButton_heatmap)

        self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_3.addItem(self.horizontalSpacer_4)

        self.pushButton_save_jo = QPushButton(self.groupBox_joint_occupancy)
        self.pushButton_save_jo.setObjectName(u"pushButton_save_jo")

        self.horizontalLayout_3.addWidget(self.pushButton_save_jo)

        self.pushButton_plot_jo = QPushButton(self.groupBox_joint_occupancy)
        self.pushButton_plot_jo.setObjectName(u"pushButton_plot_jo")
        self.pushButton_plot_jo.setAutoDefault(False)

        self.horizontalLayout_3.addWidget(self.pushButton_plot_jo)

        self.verticalLayout_4.addLayout(self.horizontalLayout_3)

        self.verticalLayout_2.addWidget(self.groupBox_joint_occupancy)

        self.retranslateUi(GroupBox)

        QMetaObject.connectSlotsByName(GroupBox)

    # setupUi

    def retranslateUi(self, GroupBox):
        GroupBox.setWindowTitle(
            QCoreApplication.translate("GroupBox", u"GroupBox", None))
        self.groupBox_occupancy_histogram.setTitle(
            QCoreApplication.translate("GroupBox", u"Occupancy histogram",
                                       None))
        self.label_56.setText(
            QCoreApplication.translate("GroupBox", u"# of bins", None))
        self.lineEdit_bins.setText(
            QCoreApplication.translate("GroupBox", u"10", None))
        self.label_55.setText(
            QCoreApplication.translate("GroupBox", u"min. occupancy", None))
        self.lineEdit_minimum.setText(
            QCoreApplication.translate("GroupBox", u"0.0", None))
        self.label_17.setText(
            QCoreApplication.translate("GroupBox", u"max. occupancy", None))
        self.lineEdit_maximum.setText(
            QCoreApplication.translate("GroupBox", u"1.0", None))
        self.checkBox_cumulative_histogram.setText(
            QCoreApplication.translate("GroupBox", u"cumulative", None))
        self.checkBox_stacked_histogram.setText(
            QCoreApplication.translate("GroupBox", u"stacked", None))
        #if QT_CONFIG(tooltip)
        self.checkBox_color_segments_occupancy.setToolTip(
            QCoreApplication.translate(
                "GroupBox",
                u"<html><head/><body><p align=\"justify\">Toggle if histogram bars are colored by segment or molecule. With colors turned on, comparing to other analyses is not possible.</p></body></html>",
                None))
        #endif // QT_CONFIG(tooltip)
        self.checkBox_color_segments_occupancy.setText(
            QCoreApplication.translate("GroupBox", u"color by segment", None))
        self.pushButton_save_occupancy.setText(
            QCoreApplication.translate("GroupBox", u"Data", None))
        #if QT_CONFIG(tooltip)
        self.pushButton_plot_occupancy.setToolTip(
            QCoreApplication.translate(
                "GroupBox",
                u"<html><head/><body><p>Compute histogram of H bond occupancies. Counts the number of H bonds with an occupancy equal or greater than the respective value.</p></body></html>",
                None))
        #endif // QT_CONFIG(tooltip)
        self.pushButton_plot_occupancy.setText(
            QCoreApplication.translate("GroupBox", u"Plot", None))
        self.groupBox_nb_connections.setTitle(
            QCoreApplication.translate("GroupBox",
                                       u"Number of connections time series",
                                       None))
        #if QT_CONFIG(tooltip)
        self.checkBox_color_segments_timeseries.setToolTip(
            QCoreApplication.translate(
                "GroupBox",
                u"<html><head/><body><p align=\"justify\">Toggle if histogram bars are colored by segment or molecule. With colors turned on, comparing to other analyses is not possible.</p></body></html>",
                None))
        #endif // QT_CONFIG(tooltip)
        self.checkBox_color_segments_timeseries.setText(
            QCoreApplication.translate("GroupBox", u"color by segment", None))
        self.pushButton_save_timeseries.setText(
            QCoreApplication.translate("GroupBox", u"Data", None))
        #if QT_CONFIG(tooltip)
        self.pushButton_plot_timeseries.setToolTip(
            QCoreApplication.translate(
                "GroupBox",
                u"<html><head/><body><p align=\"justify\">Compute the number of H bonds per frame.</p></body></html>",
                None))
        #endif // QT_CONFIG(tooltip)
        self.pushButton_plot_timeseries.setText(
            QCoreApplication.translate("GroupBox", u"Plot", None))
        self.groupBox_joint_occupancy.setTitle(
            QCoreApplication.translate("GroupBox", u"Joint Occupancy", None))
        self.radioButton_scatter.setText(
            QCoreApplication.translate("GroupBox", u"scatter plot", None))
        self.label_3.setText(
            QCoreApplication.translate("GroupBox", u"with dot size", None))
        self.lineEdit_scatter_size.setText(
            QCoreApplication.translate("GroupBox", u"1", None))
        self.lineEdit_scatter_size.setPlaceholderText(
            QCoreApplication.translate("GroupBox", u"0 - 100", None))
        self.radioButton_heatmap.setText(
            QCoreApplication.translate("GroupBox", u"heatmap", None))
        self.pushButton_save_jo.setText(
            QCoreApplication.translate("GroupBox", u"Data", None))
        #if QT_CONFIG(tooltip)
        self.pushButton_plot_jo.setToolTip(
            QCoreApplication.translate(
                "GroupBox",
                u"<html><head/><body><p align=\"justify\">Compute the joint occupancy of the H bond network. The joint occupancy is true, if all H bonds of the network are present in a frame and false otherwise.</p></body></html>",
                None))
        #endif // QT_CONFIG(tooltip)
        self.pushButton_plot_jo.setText(
            QCoreApplication.translate("GroupBox", u"Plot", None))
コード例 #22
0
class PageAllegroOptions(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self)
        self.parent = parent
        self.parent.addWidget(self)
        self.auto_login, self.auto_pwd, self.auto_email, self.auto_time = data.get_autofill()
        self.gridLayout = QGridLayout(self)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setSpacing(0)
        self.gridLayout.setColumnStretch(0, 3)
        self.gridLayout.setColumnStretch(1, 7)

        self.pushButton_auto = QPushButton(self)
        self.pushButton_auto.setText("Autofill")
        self.pushButton_auto.setStyleSheet(styles.btn_allegro_ops_auto)
        self.pushButton_auto.setCheckable(True)
        self.pushButton_auto.setChecked(True)
        self.pushButton_auto.clicked.connect(lambda: self.on_auto())
        self.gridLayout.addWidget(self.pushButton_auto, 0, 0, 1, 1)

        self.pushButton_help = QPushButton(self)
        self.pushButton_help.setText("Help")
        self.pushButton_help.setStyleSheet(styles.btn_allegro_ops_auto)
        self.pushButton_help.setCheckable(True)
        self.pushButton_help.setChecked(False)
        self.pushButton_help.clicked.connect(lambda: self.on_help())
        self.gridLayout.addWidget(self.pushButton_help, 1, 0, 1, 1)

        self.spacer_btn_d = QSpacerItem(40, 20, QSizePolicy.Expanding)
        self.gridLayout.addItem(self.spacer_btn_d, 2, 0, 1, 1)

        self.stackedWidget = QStackedWidget(self)
        self.stackedWidget.setStyleSheet("""QStackedWidget{background-color: #fff;}""")
        self.gridLayout.addWidget(self.stackedWidget, 0, 1, 3, 1)

        self.widget_auto = QWidget(self.stackedWidget)
        self.widget_auto.setStyleSheet("""QWidget{background-color: #fff;}""")
        self.stackedWidget.addWidget(self.widget_auto)

        self.widget_help = QWidget(self.stackedWidget)
        self.widget_help.setStyleSheet("""QWidget{background-color: #fff;}""")
        self.stackedWidget.addWidget(self.widget_help)

        self.gridLayout_help = QVBoxLayout(self.widget_help)
        self.gridLayout_help.setContentsMargins(50, 50, 50, 50)
        self.gridLayout_help.setSpacing(50)

        self.label_help = QLabel(self.widget_help)
        self.label_help.setStyleSheet(styles.label_lineEdit)
        self.label_help.setWordWrap(True)
        self.label_help.setText(styles.help_text)
        self.gridLayout_help.addWidget(self.label_help)

        self.spacer_help = QSpacerItem(40, 20, QSizePolicy.Expanding)
        self.gridLayout_help.addItem(self.spacer_help)

        self.gridLayout_auto = QGridLayout(self.widget_auto)
        self.gridLayout_auto.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_auto.setSpacing(20)
        self.gridLayout_auto.setColumnStretch(0, 1)
        self.gridLayout_auto.setColumnStretch(1, 1)
        self.gridLayout_auto.setColumnStretch(2, 1)
        self.gridLayout_auto.setColumnStretch(3, 1)
        self.gridLayout_auto.setRowStretch(0, 3)
        self.gridLayout_auto.setRowStretch(1, 1)
        self.gridLayout_auto.setRowStretch(2, 1)
        self.gridLayout_auto.setRowStretch(3, 1)
        self.gridLayout_auto.setRowStretch(4, 1)
        self.gridLayout_auto.setRowStretch(5, 1)
        self.gridLayout_auto.setRowStretch(6, 3)

        self.lineEdit_login = QLineEdit(self.widget_auto)
        self.lineEdit_login.setMinimumSize(QSize(0, 60))
        self.lineEdit_login.setSizeIncrement(QSize(40, 40))
        self.lineEdit_login.setStyleSheet(styles.lineEdit_opt)
        self.gridLayout_auto.addWidget(self.lineEdit_login, 1, 2, 1, 1)
        self.lineEdit_login.setPlaceholderText("login or email of your account")
        self.lineEdit_login.setText(self.auto_login)

        self.lineEdit_password = QLineEdit(self.widget_auto)
        self.lineEdit_password.setMinimumSize(QSize(20, 60))
        self.lineEdit_password.setStyleSheet(styles.lineEdit_opt)
        self.lineEdit_password.setEchoMode(QLineEdit.Password)
        self.lineEdit_password.setReadOnly(False)
        self.gridLayout_auto.addWidget(self.lineEdit_password, 2, 2, 1, 1)
        self.lineEdit_password.setPlaceholderText("password of your account")
        self.lineEdit_password.setText(self.auto_pwd)

        self.lineEdit_email = QLineEdit(self.widget_auto)
        self.lineEdit_email.setMinimumSize(QSize(0, 60))
        self.lineEdit_email.setStyleSheet(styles.lineEdit_opt)
        self.lineEdit_email.setFrame(True)
        self.lineEdit_email.setEchoMode(QLineEdit.Normal)
        self.gridLayout_auto.addWidget(self.lineEdit_email, 3, 2, 1, 1)
        self.lineEdit_email.setPlaceholderText("email to which the notification will be sent")
        self.lineEdit_email.setText(self.auto_email)

        self.lineEdit_time = QLineEdit(self.widget_auto)
        self.lineEdit_time.setMinimumSize(QSize(0, 60))
        self.lineEdit_time.setStyleSheet(styles.lineEdit)
        self.gridLayout_auto.addWidget(self.lineEdit_time, 4, 2, 1, 1)
        self.lineEdit_time.setPlaceholderText("interval between refreshes")
        self.lineEdit_time.setText(str(self.auto_time))

        self.label_login = QLabel("Allegro login", self)
        self.label_login.setStyleSheet(styles.label_lineEdit)
        self.gridLayout_auto.addWidget(self.label_login, 1, 1, 1, 1)

        self.label_password = QLabel("Allegro password", self)
        self.label_password.setStyleSheet(styles.label_lineEdit)
        self.gridLayout_auto.addWidget(self.label_password, 2, 1, 1, 1)

        self.label_email = QLabel("Email to notificate", self)
        self.label_email.setStyleSheet(styles.label_lineEdit)
        self.gridLayout_auto.addWidget(self.label_email, 3, 1, 1, 1)

        self.label_time = QLabel("Refresh time[s]", self)
        self.label_time.setStyleSheet(styles.label_lineEdit)
        self.gridLayout_auto.addWidget(self.label_time, 4, 1, 1, 1)

        self.pushButton_set = QPushButton("Set", self.widget_auto)
        self.pushButton_set.clicked.connect(lambda: self.on_set())
        self.pushButton_set.setMinimumSize(QSize(0, 40))
        self.pushButton_set.setStyleSheet(styles.btn_dark)
        self.gridLayout_auto.addWidget(self.pushButton_set, 5, 2, 1, 1)

        self.spacer_auto_l = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.gridLayout_auto.addItem(self.spacer_auto_l, 1, 1, 1, 1)

        self.spacer_auto_r = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.gridLayout_auto.addItem(self.spacer_auto_r, 1, 3, 1, 1)

        self.spacer_auto_t = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.gridLayout_auto.addItem(self.spacer_auto_t, 0, 0, 1, 1)

        self.spacer_auto_b = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.gridLayout_auto.addItem(self.spacer_auto_b, 6, 0, 1, 1)

    def on_set(self):
        data.add_autofill(self.lineEdit_login.text(), self.lineEdit_password.text(), self.lineEdit_email.text(), int(self.lineEdit_time.text()))
        auto_login, auto_pwd, auto_email, auto_time = data.get_autofill()
        self.parent.pageAllegroAdd.lineEdit_login.setText(auto_login)
        self.parent.pageAllegroAdd.lineEdit_password.setText(auto_pwd)
        self.parent.pageAllegroAdd.lineEdit_email.setText(auto_email)
        self.parent.pageAllegroAdd.lineEdit_time.setText(str(auto_time))

    def on_auto(self):
        self.pushButton_auto.setChecked(True)
        self.pushButton_help.setChecked(False)
        self.stackedWidget.setCurrentIndex(0)

    def on_help(self):
        self.pushButton_auto.setChecked(False)
        self.pushButton_help.setChecked(True)
        self.stackedWidget.setCurrentIndex(1)
コード例 #23
0
ファイル: show_torna_statusz.py プロジェクト: jczigany/scorer
class TornaStatuszWindow(QDialog):
    def __init__(self, parent=None):
        super(TornaStatuszWindow, self).__init__(parent)
        self.setWindowTitle("Torna állása")
        self.setMinimumHeight(720)
        # self.setMinimumWidth(700)
        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.hatter = QVBoxLayout()
        self.setLayout(self.hatter)
        self.create_torna_selection()
        self.hatter.addWidget(self.tournaments)
        self.space = QSpacerItem(0, 0, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        self.hatter.addItem(self.space)

    def create_torna_selection(self):
        self.tournaments = QComboBox()
        self.tournaments.setMinimumWidth(700)
        self.tournaments.setModelColumn(0)
        self.tournaments.activated.connect(self.torna_valasztas)
        self.load_torna()

    def load_torna(self):
        torna = QSqlQueryModel()
        query = QSqlQuery("select * from torna_settings where aktiv=1")
        torna.setQuery(query)
        if torna.record(0).value(0):
            for i in range(torna.rowCount()):
                self.tournaments.addItem(
                    torna.record(i).value(1),
                    torna.record(i).value(0))  # a value(0) a torna_id

    def torna_valasztas(self, i):
        self.torna_id = self.tournaments.itemData(i)
        torna = QSqlQuery(
            f"select * from torna_settings where torna_id={self.torna_id}")
        torna.exec_()
        while torna.next():
            self.csoportok_szama = torna.value(3)
            self.sorok_szama = torna.value(4)
            self.variant = torna.value(5)
            self.sets = torna.value(7)
            self.legsperset = torna.value(8)
            self.nyereshez_kell = torna.value(8)
            self.pont_gyozelem = torna.value(11)
            self.pont_vereseg = torna.value(13)

        self.tablak = []
        for cs in range(self.csoportok_szama):
            tablasor = []
            for sor in range(self.sorok_szama):
                tablasor.append(0)
            self.tablak.append(tablasor)
        query2 = QSqlQuery(
            f"select * from torna_tablak where torna_id={self.torna_id}")
        query2.exec_()
        while query2.next():
            self.tablak[query2.value(2)][query2.value(3)] = query2.value(1)
        self.nevek = []
        for cs in range(self.csoportok_szama):
            neveksor = []
            for sor in range(self.sorok_szama):
                neveksor.append("")
            self.nevek.append(neveksor)
        query2 = QSqlQuery(
            f"select player_id, player_name from torna_resztvevok where torna_id={self.torna_id}"
        )
        query2.exec_()
        while query2.next():
            for x in range(self.csoportok_szama):
                for y in range(self.sorok_szama):
                    if query2.value(0) == self.tablak[x][y]:
                        self.nevek[x][y] = query2.value(1)

        self.create_widgets()
        self.set_layout()

    def create_widgets(self):
        # GroupMemberWidget-ek
        self.csoportok = []
        for i in range(self.csoportok_szama):  # Csoportok száma
            self.csoportoszlop = []
            for j in range(self.sorok_szama):  # fő/csoport
                self.csoportoszlop.append(GroupMemberWidget(self))
                self.csoportoszlop[j]._set_csoport_number(i)
                self.csoportoszlop[j]._set_csoport_sor(j)
                self.csoportoszlop[j]._set_player_id(self.tablak[i][j])
                self.csoportoszlop[j]._set_player_name(self.nevek[i][j])
            self.csoportok.append(self.csoportoszlop)

        # EredmenyWidget-ek
        self.eredmenyek = []
        for i in range(self.csoportok_szama):
            self.csoport_eredmeny_matrix = []
            for j in range(
                    self.sorok_szama):  # ami egyenlő az oszlopok számával!!!
                self.eredmeny_oszlop = []
                for x in range(self.sorok_szama):
                    self.eredmeny_oszlop.append(EredmenyWidget(self))
                    self.eredmeny_oszlop[x]._set_csoport_number(i)
                    self.eredmeny_oszlop[x]._set_csoport_sor(j)
                    self.eredmeny_oszlop[x]._set_csoport_oszlop(x)
                    self.eredmeny_oszlop[x]._set_p1_id(self.tablak[i][j])
                    self.eredmeny_oszlop[x]._set_p2_id(self.tablak[i][x])

                self.csoport_eredmeny_matrix.append(self.eredmeny_oszlop)
            self.eredmenyek.append(self.csoport_eredmeny_matrix)

        # SzumWidget-ek
        self.szum_eredmenyek = []
        for i in range(self.csoportok_szama):  # 2
            self.csoport_szum_eredmeny_matrix = []
            for j in range(5):  # ami egyenlő az oszlopok számával!!!
                self.szum_eredmeny_oszlop = []
                for x in range(self.sorok_szama):
                    self.szum_eredmeny_oszlop.append(SzumWidget(self))
                    # self.eredmeny_oszlop[x]._set_csoport_number(i)
                    # self.eredmeny_oszlop[x]._set_csoport_sor(x)
                    # self.eredmeny_oszlop[x]._set_csoport_oszlop(j)
                    self.szum_eredmeny_oszlop[x]._set_p_id(self.tablak[i][x])
                    # self.eredmeny_oszlop[x]._set_p2_id(self.tablak[i][x])

                self.csoport_szum_eredmeny_matrix.append(
                    self.szum_eredmeny_oszlop)
            self.szum_eredmenyek.append(self.csoport_szum_eredmeny_matrix)

        if hasattr(self, 'refresh_button'):
            pass
        else:
            self.refresh_button = QPushButton("Frissítés")
            self.refresh_button.clicked.connect(self.update_statusz)

    def set_layout(self):

        if hasattr(self, 'main_layout'):
            for i in reversed(range(self.main_layout.count())):
                if self.main_layout.itemAt(i).widget() is not None:
                    self.main_layout.itemAt(i).widget().deleteLater()
            for i in reversed(range(self.main_layout.count())):
                if self.main_layout.itemAt(i).layout() is not None:
                    self.main_layout.itemAt(i).layout().deleteLater()
        else:
            self.main_layout = QHBoxLayout()
            self.hatter.addLayout(self.main_layout)

        groups = QWidget()
        groups.setFixedWidth(((self.sorok_szama + 5) * 50) + 200)
        widgets_layout = QVBoxLayout()
        groups.setLayout(widgets_layout)

        for n in range(self.csoportok_szama):  # csoportok száma
            locals()['csoport_layout' + str(n)] = QGridLayout(
            )  # Létrehozzuk az adott sorszámú csoport layout-ját
            locals()['csoport_layout' + str(n)].setContentsMargins(0, 0, 0, 0)
            locals()['csoport_layout' + str(n)].setHorizontalSpacing(0)
            locals()['csoport_layout' + str(n)].setVerticalSpacing(0)
            widgets_layout.addLayout(locals()[
                'csoport_layout' +
                str(n)])  # Hozzáadjuk a a layout-ot a widget_layout-hoz
            locals()['csoport_layout' + str(n)].addWidget(
                QLabel("Csoport_" + str(n + 1)), 0, 0, Qt.AlignHCenter)
            sorok = len(self.csoportok[n])
            for k in range(sorok):
                locals()['csoport_layout' + str(n)].addWidget(
                    QLabel(str(k + 1)), 0, k + 1, Qt.AlignHCenter)
            locals()['csoport_layout' + str(n)].addWidget(
                QLabel("NY"), 0, sorok + 5, Qt.AlignHCenter)
            locals()['csoport_layout' + str(n)].addWidget(
                QLabel("V"), 0, sorok + 6, Qt.AlignHCenter)
            locals()['csoport_layout' + str(n)].addWidget(
                QLabel("K"), 0, sorok + 7, Qt.AlignHCenter)
            locals()['csoport_layout' + str(n)].addWidget(
                QLabel("P"), 0, sorok + 8, Qt.AlignHCenter)
            locals()['csoport_layout' + str(n)].addWidget(
                QLabel("H"), 0, sorok + 9, Qt.AlignHCenter)
            for i in range(
                    len(self.csoportok[n])
            ):  # len(self.csoportok[n]) : csoporton belüli sorok száma
                # Végigmegyünk a sorokon   :  i: sorok száma, n: csoport száma

                # N: HÁNYADIK CSOPORT, I: HÁNYADIK OSZLOP-OT TÖLTJÜK
                # a layout 1. oszlopát feltöltjük a tömbben tárolt custom widget-ekkel
                # self.csoportok[n][i] N-EDIK CSOPORT I-DIK SORÁBAN A NÉV
                locals()['csoport_layout' + str(n)].addWidget(
                    self.csoportok[n][i], i + 1, 0)
                # Itt töltjük fel az eredmény-widget-eket, és a szummákat (tombben tárolva, mint a GroupMemberWidget-ek)
                # eredmenyek[n, y, i] n: csoport, y: oszlop, i: sor
                for x in range(
                        len(self.csoportok[n])
                ):  # Ez lesz az oszlop(max = sorok száma) x: oszlop száma
                    locals()['csoport_layout' + str(n)].addWidget(
                        self.eredmenyek[n][i][x], i + 1, x + 1)
                # szum_eredmenyek[x, y, z] x: csoport, y: oszlop, z: sor
                for y in range(5):  # 5 kockát rakunk ki
                    locals()['csoport_layout' + str(n)].addWidget(
                        self.szum_eredmenyek[n][y][i], i + 1, 5 + x + y + 1)

            # locals()['csoport_layout' + str(n)].addWidget(QLabel("Csoport_" + str(n + 1)), 0, 0)

        lista_layout = QVBoxLayout()
        lista_layout.addWidget(self.refresh_button)

        scroll = QScrollArea()
        scroll.setWidget(groups)
        scroll.setFixedWidth(((self.sorok_szama + 5) * 50) + 220)
        scroll.setFixedHeight(680)

        self.main_layout.addWidget(scroll)
        self.main_layout.addLayout(lista_layout)

    def update_statusz(self):
        legek = []
        query = QSqlQuery(
            f"SELECT matches.*,torna_match.player1_id as p1,torna_match.player2_id as p2 FROM matches,\
         torna_match WHERE matches.match_id=torna_match.match_id and torna_match.torna_id={self.torna_id}"
        )
        query.exec_()
        while query.next():
            akt_leg = []
            akt_leg.append(query.value(0))  # match_id
            akt_leg.append(query.value(5))  # p1
            akt_leg.append(query.value(6))  # p2
            akt_leg.append(query.value(1))  # leg
            akt_leg.append(query.value(2))  # set
            akt_leg.append(query.value(3))  # winner
            legek.append(akt_leg)
        # Egy listában meg van az adott torna összes lejátszott leg-je
        # Kinullázzuk az eredményeket, mert a lekérdezés az összeset tudja lekérni, nem csak a legfrissebbet!!!
        for x in range(self.csoportok_szama):
            for y in range(self.sorok_szama):
                for z in range(self.sorok_szama):
                    self.eredmenyek[x][y][z]._set_leg1(0)
                    self.eredmenyek[x][y][z]._set_leg2(0)
        # Először összegezzük mindenhol a nyert legeket
        for k in legek:
            for x in range(self.csoportok_szama):
                for y in range(self.sorok_szama):
                    for z in range(self.sorok_szama):
                        if self.eredmenyek[x][y][z]._get_p1_id(
                        ) == k[1] and self.eredmenyek[x][y][z]._get_p2_id(
                        ) == k[2]:
                            if self.eredmenyek[x][y][z]._get_p1_id() == k[5]:
                                self.eredmenyek[x][y][z]._set_leg1(
                                    self.eredmenyek[x][y][z]._get_leg1() + 1)
                                self.eredmenyek[x][y][z].change_leg1_number()
                            else:
                                self.eredmenyek[x][y][z]._set_leg2(
                                    self.eredmenyek[x][y][z]._get_leg2() + 1)
                                self.eredmenyek[x][y][z].change_leg2_number()
                        # ellenfél szempontjából:
                        if self.eredmenyek[x][y][z]._get_p1_id(
                        ) == k[2] and self.eredmenyek[x][y][z]._get_p2_id(
                        ) == k[1]:
                            if self.eredmenyek[x][y][z]._get_p1_id() == k[5]:
                                self.eredmenyek[x][y][z]._set_leg1(
                                    self.eredmenyek[x][y][z]._get_leg1() + 1)
                                self.eredmenyek[x][y][z].change_leg1_number()
                            else:
                                self.eredmenyek[x][y][z]._set_leg2(
                                    self.eredmenyek[x][y][z]._get_leg2() + 1)
                                self.eredmenyek[x][y][z].change_leg2_number()
        # Megnézzük, hogy valaki megnyerte-e. Ha igen akkor a nyerésért/vereségért járó pontot rögzítjük
        for x in range(self.csoportok_szama):
            for y in range(self.sorok_szama):
                for z in range(self.sorok_szama):
                    if self.eredmenyek[x][y][z]._get_leg1(
                    ) == self.nyereshez_kell:
                        self.eredmenyek[x][y][z]._set_pontszam(
                            int(self.pont_gyozelem))
                        self.eredmenyek[x][y][z].update_osszes_pont()
                    if self.eredmenyek[x][y][z]._get_leg2(
                    ) == self.nyereshez_kell:
                        self.eredmenyek[x][y][z]._set_pontszam(
                            int(self.pont_vereseg))
                        self.eredmenyek[x][y][z].update_osszes_pont()
        # helyezések
        helyezesek = []
        for cs in range(self.csoportok_szama):
            helyezes_oszlop = []
            for oszlop in range(self.sorok_szama):
                # self.szum_eredmenyek[self._csoport_number][4][self._csoport_sor].
                self.szum_eredmenyek[cs][4][oszlop]._set_ertek(3)
コード例 #24
0
class FormPlayControlToolBar(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()

        self.__initForm()


    def __initForm(self):
        self.mainLayout = QHBoxLayout()
        self.mainLayout.setContentsMargins(0, 0 , 0, 0)
        self.controlBarFrame = QtWidgets.QFrame()
        self.textFont = QFont("微软雅黑", 11)

        # 整体布局
        self.toolBarLayout = QHBoxLayout()
        self.toolBarLayout.setContentsMargins(20,2,20,2)

        # 1.播放控住部分布局
        self.leftControlLayout = QVBoxLayout()
        self.leftControlLayout.setContentsMargins(0, 0, 0, 0)
        self.toolBarLeftTopSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.toolBarLeftLeftSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.toolBarLeftRightSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.toolBarLeftButtomSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.prevMusicButton = QToolButton()
        self.prevMusicButton.setFixedSize(25, 25)
        self.prevMusicButton.setObjectName("prevMusicButton")
        self.prevMusicButton.setToolTip("上一首")
        self.playMusicButton = QToolButton()
        self.playMusicButton.setFixedSize(30, 30)
        self.playMusicButton.setObjectName("playMusicButton")
        self.playMusicButton.setToolTip("播放")
        self.stopMusicButton = QToolButton()
        self.stopMusicButton.setFixedSize(37, 30)
        self.stopMusicButton.setObjectName("stopMusicButton")
        self.stopMusicButton.setToolTip("停止")
        self.nextMusicButton = QToolButton()
        self.nextMusicButton.setFixedSize(25, 25)
        self.nextMusicButton.setObjectName("nextMusicButton")
        self.nextMusicButton.setToolTip("下一首")
        self.leftControlLayout.addItem(self.toolBarLeftTopSpaceItem)
        self.leftMidHBoxLayout = QHBoxLayout()
        self.leftMidHBoxLayout.setSpacing(12)
        self.leftMidHBoxLayout.addItem(self.toolBarLeftLeftSpaceItem)
        self.leftMidHBoxLayout.addWidget(self.prevMusicButton)
        self.leftMidHBoxLayout.addWidget(self.playMusicButton)
        self.leftMidHBoxLayout.addWidget(self.stopMusicButton)
        self.leftMidHBoxLayout.addWidget(self.nextMusicButton)
        self.leftMidHBoxLayout.addItem(self.toolBarLeftButtomSpaceItem)

        # 2.工具条中间部分布局
        self.midTopVBoxlayout = QVBoxLayout()
        self.midTopVBoxlayout.setContentsMargins(0, 0, 0, 0)
        self.midTopVBoxlayout.setSpacing(10)
        self.midtopHBoxLayout = QHBoxLayout()
        self.midtopHBoxLayout.setContentsMargins(0, 0, 0, 0)
        # 第一行
        self.playingSongButton = QToolButton()
        self.playingSongButton.setFont(self.textFont)
        self.playingSongButton.setFixedHeight(30)
        self.playingSongButton.setText("正在播放")
        self.playingSongButton.setObjectName("playingSongButton")
        self.playingSongButton.setFont(self.textFont)
        self.playingSongContextLabel = QLabel()
        self.playingSongContextLabel.setObjectName("playingSongContextLabel")
        self.playingSongContextLabel.setFont(self.textFont)
        self.playingSongContextLabel.setText("你是我拒绝别人的理由")
        self.midtopmidSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.shoucangToolButton = QToolButton()
        self.shoucangToolButton.setObjectName("shoucangToolButton")
        self.shoucangToolButton.setFixedSize(25, 25)
        self.mvVideoToolButton = QToolButton()
        self.mvVideoToolButton.setObjectName("mvVideoToolButton")
        self.mvVideoToolButton.setFixedSize(25, 30)
        self.downToolButton = QToolButton()
        self.downToolButton.setObjectName("downToolButton")
        self.downToolButton.setFixedSize(25, 30)
        self.midtopHBoxLayout.addWidget(self.playingSongButton)
        self.midtopHBoxLayout.addWidget(self.playingSongContextLabel)
        self.midtopHBoxLayout.addItem(self.midtopmidSpaceItem)
        self.midtopHBoxLayout.addWidget(self.shoucangToolButton)
        self.midtopHBoxLayout.addWidget(self.mvVideoToolButton)
        self.midtopHBoxLayout.addWidget(self.downToolButton)
        #第二行
        self.midBottomHBoxLayout = QHBoxLayout()
        self.playedTimeLabel = QLabel("00:00:00")
        self.playedTimeLabel.setObjectName("playedTimeLabel")
        self.playedTimeLabel.setFont(self.textFont)
        self.horizontalSlider = QSlider(Qt.Horizontal)
        self.totalTimeLabel = QLabel("00:06:28")
        self.totalTimeLabel.setFont(self.textFont)
        self.midBottomHBoxLayout.addWidget(self.playedTimeLabel)
        self.midBottomHBoxLayout.addWidget(self.horizontalSlider)
        self.midBottomHBoxLayout.addWidget(self.totalTimeLabel)
        self.midTopVBoxlayout.addLayout(self.midtopHBoxLayout)
        self.midTopVBoxlayout.addLayout(self.midBottomHBoxLayout)

        # 右边播放列表部分
        self.rightControlLayout = QVBoxLayout()
        self.toolBarRightTopSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.toolBarRightLeftSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.toolBarRightRightSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.toolBarRightButtomSpaceItem = QtWidgets.QSpacerItem(3, 20, QSizePolicy.Expanding)
        self.shunxuPlayButton = QToolButton()
        self.shunxuPlayButton.setObjectName("shunxuPlayButton")
        self.shunxuPlayButton.setToolTip("顺序播放")
        self.shunxuPlayButton.setFixedSize(25, 25)
        self.danquxunhuanPlayButton = QToolButton()
        self.danquxunhuanPlayButton.setObjectName("danquxunhuanPlayButton")
        self.danquxunhuanPlayButton.setToolTip("单曲循环")
        self.danquxunhuanPlayButton.setFixedSize(25, 25)
        self.sunjibofangPlayButton = QToolButton()
        self.sunjibofangPlayButton.setObjectName("sunjibofangPlayButton")
        self.sunjibofangPlayButton.setToolTip("随机播放")
        self.sunjibofangPlayButton.setFixedSize(25, 25)
        self.playListButton = QToolButton()
        self.playListButton.setObjectName("playListButton")
        self.playListButton.setToolTip("播放列表")
        self.playListButton.setFixedSize(25, 25)
        self.rightMidHBoxLayout = QHBoxLayout()
        self.rightMidHBoxLayout.setSpacing(10)
        self.rightMidHBoxLayout.addItem(self.toolBarRightLeftSpaceItem)
        self.rightMidHBoxLayout.addWidget(self.shunxuPlayButton)
        self.rightMidHBoxLayout.addWidget(self.danquxunhuanPlayButton)
        self.rightMidHBoxLayout.addWidget(self.sunjibofangPlayButton)
        self.rightMidHBoxLayout.addWidget(self.playListButton)
        self.rightMidHBoxLayout.addItem(self.toolBarRightRightSpaceItem)
        self.rightControlLayout.addItem(self.toolBarRightTopSpaceItem)
        self.rightControlLayout.addLayout(self.rightMidHBoxLayout)
        self.rightControlLayout.addItem(self.toolBarRightButtomSpaceItem)

        self.toolBarLayout.addLayout(self.leftMidHBoxLayout)
        self.secondLeftSpaceItem = QtWidgets.QSpacerItem(50, 20, QSizePolicy.Fixed)
        self.toolBarLayout.addItem(self.secondLeftSpaceItem)
        self.toolBarLayout.addLayout(self.midTopVBoxlayout)
        self.secondRightSpaceItem = QtWidgets.QSpacerItem(50, 20, QSizePolicy.Fixed)
        self.toolBarLayout.addItem(self.secondRightSpaceItem)
        self.toolBarLayout.addLayout(self.rightControlLayout)
        self.toolBarLayout.setStretch(0, 0)
        self.toolBarLayout.setStretch(1, 0)
        self.toolBarLayout.setStretch(2, 1)
        self.toolBarLayout.setStretch(3, 0)
        self.toolBarLayout.setStretch(4, 0)
        self.controlBarFrame.setLayout(self.toolBarLayout)
        self.mainLayout.addWidget(self.controlBarFrame)
        self.setLayout(self.mainLayout)
コード例 #25
0
    def __init__(self, parent):
        super(manageMembers, self).__init__(parent)
        self.setWindowTitle("Tagok kezelése")
        widget = QWidget()
        main_layout = QHBoxLayout()
        widget.setLayout(main_layout)

        self.setCentralWidget(widget)
        # self.client = MysqlClient()
        self.table_view = QTableView()
        # self.model = TableModel(self.table_name, fejlec)
        self.model = QSqlTableModel(db=db)
        # a megjelenített tábla neve
        self.table_name = "members"

        main_layout.addWidget(self.table_view)
        fejlec = [
            'id', "Vezetéknév", "Utónév", "Született", "Ir.szám", "Helység",
            "Cím", "Telefon", "E-mail", "Tagság kezdete", 'Aktív'
        ]

        # self.model = TableModel(self.table_name)
        # print(self.model)

        self.table_view.setModel(self.model)
        self.table_view.setSortingEnabled(True)
        # Az első oszlop (id) elrejtése
        self.table_view.hideColumn(0)
        self.table_view.resizeColumnsToContents()

        gomb_layout = QVBoxLayout()
        main_layout.addLayout(gomb_layout)

        self.delete_button = QPushButton("&Tag törlése")
        self.add_button = QPushButton("&Új tag")
        self.modify_button = QPushButton("Tag &módosítása")

        gomb_layout.addWidget(self.delete_button)
        gomb_layout.addWidget(self.add_button)
        gomb_layout.addWidget(self.modify_button)
        self.space = QSpacerItem(0, 0, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        gomb_layout.addItem(self.space)

        # self.resize(320, 200)
        self.setFixedSize(1000, 800)
        # self.showMaximized()
        # self.setWindowFlags(Qt.Window|Qt.WindowTitleHint)
        tb = self.addToolBar("File")

        exit = QAction(QIcon("images/door--arrow.png"), "Kilépés", self)
        tb.addAction(exit)

        excel = QAction(QIcon("images/excel.png"), "Excel", self)
        tb.addAction(excel)

        tb.actionTriggered[QAction].connect(self.toolbarpressed)

        # self.delete_button.clicked.connect(lambda: self.model.delete(self.table_view.selectedIndexes()[0]))
        self.delete_button.clicked.connect(self.tag_torles)
        self.add_button.clicked.connect(self.model.add)
        self.modify_button.clicked.connect(self.tag_modositas)
コード例 #26
0
class Ui_GroupBox(object):
    def setupUi(self, GroupBox):
        if not GroupBox.objectName():
            GroupBox.setObjectName(u"GroupBox")
        GroupBox.resize(528, 576)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(GroupBox.sizePolicy().hasHeightForWidth())
        GroupBox.setSizePolicy(sizePolicy)
        self.verticalLayout_2 = QVBoxLayout(GroupBox)
        self.verticalLayout_2.setObjectName(u"verticalLayout_2")
        self.groupBox = QGroupBox(GroupBox)
        self.groupBox.setObjectName(u"groupBox")
        self.verticalLayout_4 = QVBoxLayout(self.groupBox)
        self.verticalLayout_4.setObjectName(u"verticalLayout_4")
        self.horizontalLayout_7 = QHBoxLayout()
        self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
        self.horizontalSpacer_7 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_7.addItem(self.horizontalSpacer_7)

        self.pushButton_degree_save = QPushButton(self.groupBox)
        self.pushButton_degree_save.setObjectName(u"pushButton_degree_save")

        self.horizontalLayout_7.addWidget(self.pushButton_degree_save)

        self.verticalLayout_4.addLayout(self.horizontalLayout_7)

        self.verticalLayout_2.addWidget(self.groupBox)

        self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                            QSizePolicy.Expanding)

        self.verticalLayout_2.addItem(self.verticalSpacer_2)

        self.groupBox_degree = QGroupBox(GroupBox)
        self.groupBox_degree.setObjectName(u"groupBox_degree")
        self.verticalLayout_3 = QVBoxLayout(self.groupBox_degree)
        self.verticalLayout_3.setObjectName(u"verticalLayout_3")
        self.horizontalLayout_2 = QHBoxLayout()
        self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
        self.radioButton_betweenness = QRadioButton(self.groupBox_degree)
        self.radioButton_betweenness.setObjectName(u"radioButton_betweenness")

        self.horizontalLayout_2.addWidget(self.radioButton_betweenness)

        self.radioButton_degree = QRadioButton(self.groupBox_degree)
        self.radioButton_degree.setObjectName(u"radioButton_degree")
        self.radioButton_degree.setChecked(True)

        self.horizontalLayout_2.addWidget(self.radioButton_degree)

        self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_2.addItem(self.horizontalSpacer_5)

        self.verticalLayout_3.addLayout(self.horizontalLayout_2)

        self.checkBox_averaged_frames = QCheckBox(self.groupBox_degree)
        self.checkBox_averaged_frames.setObjectName(
            u"checkBox_averaged_frames")
        self.checkBox_averaged_frames.setChecked(True)

        self.verticalLayout_3.addWidget(self.checkBox_averaged_frames)

        self.checkBox_normalized = QCheckBox(self.groupBox_degree)
        self.checkBox_normalized.setObjectName(u"checkBox_normalized")

        self.verticalLayout_3.addWidget(self.checkBox_normalized)

        self.groupBox_per_residue = QGroupBox(self.groupBox_degree)
        self.groupBox_per_residue.setObjectName(u"groupBox_per_residue")
        self.groupBox_per_residue.setCheckable(True)
        self.verticalLayout = QVBoxLayout(self.groupBox_per_residue)
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.horizontalLayout_6 = QHBoxLayout()
        self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
        self.label_2 = QLabel(self.groupBox_per_residue)
        self.label_2.setObjectName(u"label_2")

        self.horizontalLayout_6.addWidget(self.label_2)

        self.comboBox = QComboBox(self.groupBox_per_residue)
        self.comboBox.setObjectName(u"comboBox")

        self.horizontalLayout_6.addWidget(self.comboBox)

        self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_6.addItem(self.horizontalSpacer_2)

        self.verticalLayout.addLayout(self.horizontalLayout_6)

        self.horizontalLayout = QHBoxLayout()
        self.horizontalLayout.setObjectName(u"horizontalLayout")
        self.label_10 = QLabel(self.groupBox_per_residue)
        self.label_10.setObjectName(u"label_10")
        self.label_10.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                   | Qt.AlignVCenter)

        self.horizontalLayout.addWidget(self.label_10)

        self.lineEdit_degree_residue_ids = QLineEdit(self.groupBox_per_residue)
        self.lineEdit_degree_residue_ids.setObjectName(
            u"lineEdit_degree_residue_ids")

        self.horizontalLayout.addWidget(self.lineEdit_degree_residue_ids)

        self.horizontalSpacer_6 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout.addItem(self.horizontalSpacer_6)

        self.verticalLayout.addLayout(self.horizontalLayout)

        self.verticalLayout_3.addWidget(self.groupBox_per_residue)

        self.groupBox_histogram = QGroupBox(self.groupBox_degree)
        self.groupBox_histogram.setObjectName(u"groupBox_histogram")
        self.groupBox_histogram.setCheckable(True)
        self.groupBox_histogram.setChecked(False)
        self.verticalLayout_5 = QVBoxLayout(self.groupBox_histogram)
        self.verticalLayout_5.setObjectName(u"verticalLayout_5")
        self.horizontalLayout_3 = QHBoxLayout()
        self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
        self.label_56 = QLabel(self.groupBox_histogram)
        self.label_56.setObjectName(u"label_56")
        self.label_56.setMaximumSize(QSize(16777215, 16777215))
        self.label_56.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                   | Qt.AlignVCenter)

        self.horizontalLayout_3.addWidget(self.label_56)

        self.lineEdit_bins = QLineEdit(self.groupBox_histogram)
        self.lineEdit_bins.setObjectName(u"lineEdit_bins")
        self.lineEdit_bins.setMinimumSize(QSize(50, 0))
        self.lineEdit_bins.setMaximumSize(QSize(50, 16777215))

        self.horizontalLayout_3.addWidget(self.lineEdit_bins)

        self.label_55 = QLabel(self.groupBox_histogram)
        self.label_55.setObjectName(u"label_55")
        self.label_55.setMaximumSize(QSize(16777215, 16777215))
        self.label_55.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                   | Qt.AlignVCenter)

        self.horizontalLayout_3.addWidget(self.label_55)

        self.lineEdit_minimum = QLineEdit(self.groupBox_histogram)
        self.lineEdit_minimum.setObjectName(u"lineEdit_minimum")
        self.lineEdit_minimum.setMinimumSize(QSize(50, 0))
        self.lineEdit_minimum.setMaximumSize(QSize(50, 16777215))

        self.horizontalLayout_3.addWidget(self.lineEdit_minimum)

        self.label_17 = QLabel(self.groupBox_histogram)
        self.label_17.setObjectName(u"label_17")
        self.label_17.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                   | Qt.AlignVCenter)

        self.horizontalLayout_3.addWidget(self.label_17)

        self.lineEdit_maximum = QLineEdit(self.groupBox_histogram)
        self.lineEdit_maximum.setObjectName(u"lineEdit_maximum")
        self.lineEdit_maximum.setMinimumSize(QSize(50, 0))
        self.lineEdit_maximum.setMaximumSize(QSize(50, 16777215))

        self.horizontalLayout_3.addWidget(self.lineEdit_maximum)

        self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_3.addItem(self.horizontalSpacer_3)

        self.verticalLayout_5.addLayout(self.horizontalLayout_3)

        self.horizontalLayout_8 = QHBoxLayout()
        self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
        self.checkBox_cumulative_histogram = QCheckBox(self.groupBox_histogram)
        self.checkBox_cumulative_histogram.setObjectName(
            u"checkBox_cumulative_histogram")

        self.horizontalLayout_8.addWidget(self.checkBox_cumulative_histogram)

        self.horizontalSpacer_12 = QSpacerItem(40, 20, QSizePolicy.Fixed,
                                               QSizePolicy.Minimum)

        self.horizontalLayout_8.addItem(self.horizontalSpacer_12)

        self.checkBox_stacked_histogram = QCheckBox(self.groupBox_histogram)
        self.checkBox_stacked_histogram.setObjectName(
            u"checkBox_stacked_histogram")

        self.horizontalLayout_8.addWidget(self.checkBox_stacked_histogram)

        self.horizontalSpacer_11 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                               QSizePolicy.Minimum)

        self.horizontalLayout_8.addItem(self.horizontalSpacer_11)

        self.verticalLayout_5.addLayout(self.horizontalLayout_8)

        self.horizontalLayout_9 = QHBoxLayout()
        self.horizontalLayout_9.setObjectName(u"horizontalLayout_9")
        self.checkBox_color_segments_occupancy = QCheckBox(
            self.groupBox_histogram)
        self.checkBox_color_segments_occupancy.setObjectName(
            u"checkBox_color_segments_occupancy")
        self.checkBox_color_segments_occupancy.setChecked(True)

        self.horizontalLayout_9.addWidget(
            self.checkBox_color_segments_occupancy)

        self.horizontalSpacer_9 = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                              QSizePolicy.Minimum)

        self.horizontalLayout_9.addItem(self.horizontalSpacer_9)

        self.verticalLayout_5.addLayout(self.horizontalLayout_9)

        self.verticalLayout_3.addWidget(self.groupBox_histogram)

        self.horizontalLayout_5 = QHBoxLayout()
        self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
        self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                            QSizePolicy.Minimum)

        self.horizontalLayout_5.addItem(self.horizontalSpacer)

        self.pushButton_degree_plot = QPushButton(self.groupBox_degree)
        self.pushButton_degree_plot.setObjectName(u"pushButton_degree_plot")
        self.pushButton_degree_plot.setAutoDefault(False)

        self.horizontalLayout_5.addWidget(self.pushButton_degree_plot)

        self.verticalLayout_3.addLayout(self.horizontalLayout_5)

        self.verticalLayout_2.addWidget(self.groupBox_degree)

        self.retranslateUi(GroupBox)

        QMetaObject.connectSlotsByName(GroupBox)

    # setupUi

    def retranslateUi(self, GroupBox):
        GroupBox.setWindowTitle(
            QCoreApplication.translate("GroupBox", u"GroupBox", None))
        self.groupBox.setTitle(
            QCoreApplication.translate("GroupBox", u"All centrality measures",
                                       None))
        self.pushButton_degree_save.setText(
            QCoreApplication.translate("GroupBox", u"Data", None))
        self.groupBox_degree.setTitle(
            QCoreApplication.translate("GroupBox", u"Plots", None))
        self.radioButton_betweenness.setText(
            QCoreApplication.translate("GroupBox", u"betweenness centrality",
                                       None))
        self.radioButton_degree.setText(
            QCoreApplication.translate("GroupBox", u"degree centrality", None))
        #if QT_CONFIG(tooltip)
        self.checkBox_averaged_frames.setToolTip(
            QCoreApplication.translate(
                "GroupBox",
                u"<html><head/><body><p align=\"justify\">Toggle, if absolute number of connections or time averaged number of connections are used.</p></body></html>",
                None))
        #endif // QT_CONFIG(tooltip)
        self.checkBox_averaged_frames.setText(
            QCoreApplication.translate("GroupBox", u"average across frames",
                                       None))
        self.checkBox_normalized.setText(
            QCoreApplication.translate("GroupBox", u"normalized", None))
        self.groupBox_per_residue.setTitle(
            QCoreApplication.translate("GroupBox", u"Per Residue", None))
        self.label_2.setText(
            QCoreApplication.translate("GroupBox", u"segment: ", None))
        self.label_10.setText(
            QCoreApplication.translate("GroupBox", u"residue ids: ", None))
        self.lineEdit_degree_residue_ids.setPlaceholderText(
            QCoreApplication.translate("GroupBox", u"e.g. 0-12, 20, 70-90",
                                       None))
        self.groupBox_histogram.setTitle(
            QCoreApplication.translate("GroupBox", u"Histogram", None))
        self.label_56.setText(
            QCoreApplication.translate("GroupBox", u"# of bins", None))
        self.lineEdit_bins.setText(
            QCoreApplication.translate("GroupBox", u"10", None))
        self.label_55.setText(
            QCoreApplication.translate("GroupBox", u"min. value", None))
        self.lineEdit_minimum.setText(
            QCoreApplication.translate("GroupBox", u"0.0", None))
        self.label_17.setText(
            QCoreApplication.translate("GroupBox", u"max. value", None))
        self.lineEdit_maximum.setText(
            QCoreApplication.translate("GroupBox", u"1.0", None))
        self.checkBox_cumulative_histogram.setText(
            QCoreApplication.translate("GroupBox", u"cumulative", None))
        self.checkBox_stacked_histogram.setText(
            QCoreApplication.translate("GroupBox", u"stacked", None))
        #if QT_CONFIG(tooltip)
        self.checkBox_color_segments_occupancy.setToolTip(
            QCoreApplication.translate(
                "GroupBox",
                u"<html><head/><body><p align=\"justify\">Toggle if histogram bars are colored by segment or molecule. With colors turned on, comparing to other analyses is not possible.</p></body></html>",
                None))
        #endif // QT_CONFIG(tooltip)
        self.checkBox_color_segments_occupancy.setText(
            QCoreApplication.translate("GroupBox", u"color by segment", None))
        #if QT_CONFIG(tooltip)
        self.pushButton_degree_plot.setToolTip(
            QCoreApplication.translate(
                "GroupBox",
                u"<html><head/><body><p align=\"justify\">Compute the number of H bonds per residue. Results are colored by segment.</p></body></html>",
                None))
        #endif // QT_CONFIG(tooltip)
        self.pushButton_degree_plot.setText(
            QCoreApplication.translate("GroupBox", u"Plot", None))
コード例 #27
0
    def _buildSettingsLayout(self):

        #------------------------------------Gray scale------------------------------------#

        grayScaleLabel = QLabel(text='Gray color')
        self._grayScaleCheckbox = QCheckBox()

        grayScaleLayout = QHBoxLayout()
        grayScaleLayout.addWidget(grayScaleLabel)
        grayScaleLayout.addWidget(self._grayScaleCheckbox)

        grayScaleLayout.setAlignment(Qt.AlignRight)

        self._grayScaleCheckbox.stateChanged.connect(
            self._boardWidget.toGrayScale)

        #-----------------------------------------------------------------------------------#

        #------------------------------------Distance options------------------------------------#

        self._distanceOptions = QComboBox()
        self._distanceOptions.addItems(
            ['Euclidian Distance', 'Chebyshev Distance', 'Taxicab Distance'])

        distanceLayout = QVBoxLayout()
        distanceLayout.addWidget(self._distanceOptions)

        #----------------------------------------------------------------------------------------#

        #------------------------------------Partition options------------------------------------#

        self._partitionOptions = QComboBox()
        self._partitionOptions.addItems([
            'Simple Partition', 'Fuzzy Partition',
            'Fuzzy Partition (find centers)'
        ])

        partitionLayout = QVBoxLayout()
        partitionLayout.addWidget(self._partitionOptions)

        self._partitionOptions.currentTextChanged.connect(
            self._activateFuzzyInput)

        #-----------------------------------------------------------------------------------------#

        #------------------------------------Confidence Degree------------------------------------#

        self._confidenceInput = QLineEdit(enabled=False)
        self._confidenceInput.setPlaceholderText('Confidence degree')

        confidenceLayout = QVBoxLayout()
        confidenceLayout.addWidget(self._confidenceInput)

        self._precisionInput = QLineEdit(enabled=False)
        self._precisionInput.setPlaceholderText('Gradient method precision')

        precisionLayout = QVBoxLayout()
        precisionLayout.addWidget(self._precisionInput)

        self._centersCountInput = QLineEdit(enabled=False)
        self._centersCountInput.setPlaceholderText('Centers number')

        centersCountLayout = QVBoxLayout()
        centersCountLayout.addWidget(self._centersCountInput)

        #-----------------------------------------------------------------------------------------#

        #------------------------------------Add center------------------------------------#

        self._xCoordinateInput = QLineEdit()
        self._xCoordinateInput.setPlaceholderText('x center coordinate')

        self._yCoordinateInput = QLineEdit()
        self._yCoordinateInput.setPlaceholderText('y center coordinate')

        self._addCenterButton = QPushButton()
        self._addCenterButton.setText('Add new center')
        self._addCenterButton.setMinimumWidth(400)

        addCentersLayout = QVBoxLayout()
        addCentersLayout.addWidget(self._xCoordinateInput)
        addCentersLayout.addWidget(self._yCoordinateInput)
        addCentersLayout.addWidget(self._addCenterButton)

        self._addCenterButton.clicked.connect(self._onAddCenterButtonClicked)

        #-----------------------------------------------------------------------------------#

        spacer = QSpacerItem(40, 40, QSizePolicy.Expanding,
                             QSizePolicy.Minimum)

        settingsLayout = QVBoxLayout()
        settingsLayout.addLayout(grayScaleLayout)
        settingsLayout.addLayout(partitionLayout)
        settingsLayout.addLayout(distanceLayout)
        settingsLayout.addLayout(confidenceLayout)
        settingsLayout.addLayout(precisionLayout)
        settingsLayout.addLayout(centersCountLayout)
        settingsLayout.addItem(spacer)
        settingsLayout.addLayout(addCentersLayout)

        return settingsLayout
コード例 #28
0
    def __init__(self, parent=None, **reserved_vrg) -> None:
        super().__init__(parent)
        if 'min' in reserved_vrg:
            min = str(reserved_vrg['min'])
            sec = str(reserved_vrg['sec'])
            pulse = reserved_vrg['pulse']
            sec_sta = reserved_vrg['sec_sta']
        else:
            min = '59'
            sec = '59'
            sec_sta = True
            pulse = True
        # Sets the title and size of the dialog box
        self.setWindowTitle('Inching Settings')
        self.resize(200, 200)
        # Set the window to modal, and the user can only return to the main
        # interface after closing the popover
        self.setWindowModality(Qt.ApplicationModal)
        # Table layout used to layout QLabel and QLineEdit and QSpinBox
        grid = QGridLayout()
        self.rb01 = QRadioButton('Inching ON', self)
        self.rb02 = QRadioButton('Inching OFF', self)
        self.bg0 = QButtonGroup(self)
        self.bg0.addButton(self.rb01, 11)
        self.bg0.addButton(self.rb02, 12)
        if pulse:
            self.rb01.setChecked(True)
            self.set_sta = True
        else:
            self.rb02.setChecked(True)
            self.set_sta = False

        self.bg0.buttonClicked.connect(self.rbclicked)
        grid.addWidget(self.rb01, 0, 0, 1, 1)
        grid.addWidget(self.rb02, 0, 1, 1, 1)

        grid.addWidget(QLabel('mins(number)', parent=self), 1, 0, 1, 1)
        self.minute = QLineEdit(parent=self)
        self.minute.setText(min)
        grid.addWidget(self.minute, 1, 1, 1, 1)
        grid.addWidget(QLabel('secs(number)', parent=self), 2, 0, 1, 1)
        self.second = QLineEdit(parent=self)
        self.second.setText(sec)
        grid.addWidget(self.second, 2, 1, 1, 1)

        self.rb11 = QRadioButton('+0.5s', self)
        self.rb12 = QRadioButton('+0s', self)
        self.bg1 = QButtonGroup(self)
        self.bg1.addButton(self.rb11, 21)
        self.bg1.addButton(self.rb12, 22)
        grid.addWidget(self.rb11, 3, 0, 1, 1)
        grid.addWidget(self.rb12, 3, 1, 1, 1)
        if sec_sta:
            self.rb11.setChecked(True)
            self.second_point = True
        else:
            self.rb12.setChecked(True)
            self.second_point = False
        self.bg1.buttonClicked.connect(self.rbclicked)

        grid.addWidget(
            QLabel(
                'Inching duration range is 0:0.5 ~ 59:59.5\n'
                'with the interval of 0.5 sec.',
                parent=self), 4, 0, 2, 2)
        # Create ButtonBox, and the user confirms and cancels
        buttonbox = QDialogButtonBox(parent=self)
        buttonbox.setOrientation(Qt.Horizontal)  # Set to horizontal
        buttonbox.setStandardButtons(QDialogButtonBox.Cancel
                                     | QDialogButtonBox.Ok)
        # Connect the signal to the slot
        buttonbox.accepted.connect(self.accept)
        buttonbox.rejected.connect(self.reject)
        # Vertical layout, layout tables and buttons
        layout = QVBoxLayout()
        # Add the table layout you created earlier
        layout.addLayout(grid)
        # Put a space object to beautify the layout
        spacer_item = QSpacerItem(20, 48, QSizePolicy.Minimum,
                                  QSizePolicy.Expanding)
        layout.addItem(spacer_item)
        # ButtonBox
        layout.addWidget(buttonbox)
        self.setLayout(layout)
コード例 #29
0
class CsoportTabla(QDialog):
    def __init__(self, parent=None):
        super(CsoportTabla, self).__init__(parent)
        self.setWindowTitle("Csoportok, ágak összeállítása")
        self.setMinimumHeight(650)
        # self.setMinimumWidth(700)
        # self.resize(800, 650)
        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.hatter = QVBoxLayout()
        self.setLayout(self.hatter)

        self.create_torna_selection()
        self.hatter.addWidget(self.tournaments)

        self.space = QSpacerItem(0, 0, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        self.hatter.addItem(self.space)
        # self.create_widgets()
        # self.set_layout()

    def create_widgets(self):
        if hasattr(self, 'resztvevok'):
            self.resztvevok.load_data(self.torna_id)
        else:
            self.resztvevok = resztvevokLista(self.torna_id)
            self.resztvevok.load_data(self.torna_id)

        # GroupMemberWidget-ek
        self.csoportok = []
        for i in range(self.csoportok_szama):  # Csoportok száma
            self.csoportoszlop = []
            for j in range(self.sorok_szama):  # fő/csoport
                self.csoportoszlop.append(GroupMemberWidget(self))
                self.csoportoszlop[j]._set_csoport_number(i)
                self.csoportoszlop[j]._set_csoport_sor(j)
                self.csoportoszlop[j]._set_sorok_szama(self.sorok_szama)
            self.csoportok.append(self.csoportoszlop)

        # EredmenyWidget-ek
        self.eredmenyek = []
        for i in range(self.csoportok_szama):
            self.csoport_eredmeny_matrix = []
            for j in range(
                    self.sorok_szama):  # ami egyenlő az oszlopok számával!!!
                self.eredmeny_oszlop = []
                for x in range(self.sorok_szama):
                    self.eredmeny_oszlop.append(EredmenyWidget(self))
                    self.eredmeny_oszlop[x]._set_csoport_number(i)
                    self.eredmeny_oszlop[x]._set_csoport_sor(x)
                    self.eredmeny_oszlop[x]._set_csoport_oszlop(j)

                self.csoport_eredmeny_matrix.append(self.eredmeny_oszlop)
            self.eredmenyek.append(self.csoport_eredmeny_matrix)

        # Gombok
        if hasattr(self, 'generate_button'):
            pass
        else:
            self.generate_button = QPushButton("Tábla véglegesítése")
            self.generate_button.clicked.connect(self.generate_match_records)

        if hasattr(self, 'autofill_button'):
            pass
        else:
            self.autofill_button = QPushButton("Automatikus kitöltés")
            self.autofill_button.clicked.connect(self.generate_boards)

    def set_layout(self):
        if hasattr(self, 'main_layout'):
            for i in reversed(range(self.main_layout.count())):
                if self.main_layout.itemAt(i).widget() is not None:
                    self.main_layout.itemAt(i).widget().deleteLater()
            for i in reversed(range(self.main_layout.count())):
                if self.main_layout.itemAt(i).layout() is not None:
                    self.main_layout.itemAt(i).layout().deleteLater()
        else:
            self.main_layout = QHBoxLayout()
            self.hatter.addLayout(self.main_layout)

        groups = QWidget()
        groups.setFixedWidth((self.sorok_szama * 50) + 200)
        widgets_layout = QVBoxLayout()
        groups.setLayout(widgets_layout)

        for n in range(self.csoportok_szama):  # csoportok száma
            locals()['csoport_layout' + str(n)] = QGridLayout(
            )  # Létrehozzuk az adott sorszámú csoport layout-ját
            locals()['csoport_layout' + str(n)].setContentsMargins(0, 0, 0, 0)
            locals()['csoport_layout' + str(n)].setHorizontalSpacing(0)
            locals()['csoport_layout' + str(n)].setVerticalSpacing(0)
            widgets_layout.addLayout(locals()[
                'csoport_layout' +
                str(n)])  # Hozzáadjuk a a layout-ot a widget_layout-hoz
            for i in range(
                    len(self.csoportok[n])
            ):  # len(self.csoportok[n]) : csoporton belüli sorok száma
                # Végigmegyünk a sorokon   :  i: sorok száma, n: csoport száma
                # a layout 1. oszlopát feltöltjük a tömbben tárolt custom widget-ekkel
                locals()['csoport_layout' + str(n)].addWidget(
                    self.csoportok[n][i], i + 1, 0)
                # Itt töltjük fel az eredmény-widget-eket (tombben tárolva, mint a GroupMemberWidget-ek) eredmenyek[x, y, z] x: csoport, y: oszlop, z: sor
                for x in range(
                        len(self.csoportok[n])
                ):  # Ez lesz az oszlop(max = sorok száma) x: oszlop száma
                    locals()['csoport_layout' + str(n)].addWidget(
                        self.eredmenyek[n][i][x], i + 1, x + 1)
            locals()['csoport_layout' + str(n)].addWidget(
                QLabel("Csoport_" + str(n + 1)), 0, 0)

        lista_layout = QVBoxLayout()
        lista_layout.addWidget(self.autofill_button)
        lista_layout.addWidget(self.resztvevok)
        lista_layout.addWidget(self.generate_button)
        # lista_layout.addWidget(self.clear_button)

        scroll = QScrollArea()
        scroll.setWidget(groups)
        scroll.setFixedWidth((self.sorok_szama * 50) + 220)
        scroll.setFixedHeight(600)
        scroll.updateGeometry()

        self.main_layout.addWidget(scroll)
        self.main_layout.addLayout(lista_layout)

    def create_torna_selection(self):
        self.tournaments = QComboBox()
        self.tournaments.setMinimumWidth(500)
        self.tournaments.setModelColumn(0)
        self.tournaments.activated.connect(self.torna_valasztas)
        self.load_torna()

    def load_torna(self):
        torna = QSqlQueryModel()
        query = QSqlQuery("select * from torna_settings where aktiv=2")
        torna.setQuery(query)
        if torna.record(0).value(0):
            for i in range(torna.rowCount()):
                self.tournaments.addItem(
                    torna.record(i).value(1),
                    torna.record(i).value(0))  # a value(0) a torna_id

    def torna_valasztas(self, i):
        self.torna_id = self.tournaments.itemData(i)
        torna = QSqlQuery(
            f"select * from torna_settings where torna_id={self.torna_id}")
        torna.exec_()
        while torna.next():
            self.csoportok_szama = torna.value(3)
            self.sorok_szama = torna.value(4)
            self.variant = torna.value(5)
            self.sets = torna.value(7)
            self.legsperset = torna.value(8)

        self.create_widgets()
        self.set_layout()
        # self.hatter.activate()

    def clear_all_torna_match(self):
        print("Rekordok törlése")
        query = QSqlQuery(f"delete from torna_match where torna_id={torna_id}")
        query.exec_()

    def write_tables(self):
        tabla_rekordok = []
        for cs in range(len(self.csoportok)):
            for sor in range(len(self.csoportok[cs])):
                if self.csoportok[cs][sor]._get_player_id() != 0:
                    tabla_rekord = []
                    tabla_rekord.append(self.torna_id)
                    tabla_rekord.append(
                        self.csoportok[cs][sor]._get_player_id())
                    tabla_rekord.append(
                        self.csoportok[cs][sor]._get_csoport_number())
                    tabla_rekord.append(
                        self.csoportok[cs][sor]._get_csoport_sor())
                    tabla_rekordok.append(tabla_rekord)

        insertDataQuery = QSqlQuery()
        insertDataQuery.prepare(""" 
            insert into torna_tablak (
                  torna_id,
                  player_id,
                  csoport_number,
                  csoport_sor
            )
            values (?, ?, ?, ?)
            """)
        for x in range(len(tabla_rekordok)):
            for i in range(len(tabla_rekordok[x])):
                insertDataQuery.addBindValue(tabla_rekordok[x][i])
            insertDataQuery.exec_()

        query = QSqlQuery(
            f"update torna_settings set aktiv=1 where torna_id={self.torna_id}"
        )
        query.exec_()

    def generate_boards(self):
        sorrend = []
        for i in range(self.resztvevok.count()):
            item = self.resztvevok.item(i)
            sorrend.append([item.text(), item.data(1)])
        ujsorrend = sample(sorrend, len(sorrend))
        # print(ujsorrend)
        # print(self.csoportok_szama, self.sorok_szama)
        # valami ilyesmi kell
        # self._player_name = stream.readQString()
        # self._player_id = stream.readInt16()  # sor eseten p1, oszlopnál p2
        atrakott = self.resztvevok.count()
        for j in range(self.sorok_szama):
            for i in range(self.csoportok_szama):
                if atrakott > 0:
                    atrakott -= 1
                    self.csoportok[i][j]._set_player_name(
                        ujsorrend[atrakott][0])
                    self.csoportok[i][j]._set_player_id(ujsorrend[atrakott][1])
                    # print("csoport:", self.csoportok[i][j]._csoport_number, "sor:", self.csoportok[i][j]._csoport_sor, "j-sor", j, "i-csoport:", i)
                    for x in range(self.sorok_szama):
                        self.eredmenyek[i][j][x]._set_p1_id(
                            ujsorrend[atrakott][1])
                        self.eredmenyek[i][x][j]._set_p2_id(
                            ujsorrend[atrakott][1])
                else:
                    break
            if atrakott == 0:
                break
        self.resztvevok.clear()

    def generate_match_records(self):
        match_rekords = []
        csoport_tabla = [6, 5, 4, 3, 2,
                         1]  # todo táblához rendeléshez kell majd
        for cs in range(self.csoportok_szama):
            for sor in range(self.sorok_szama):
                for oszlop in range(sor + 1, self.sorok_szama):
                    if self.eredmenyek[cs][sor][oszlop]._get_p1_id(
                    ) != 0 and self.eredmenyek[cs][sor][oszlop]._get_p2_id(
                    ) != 0:
                        match_id = (10000 * self.torna_id) + (
                            100 *
                            int(self.eredmenyek[cs][sor][oszlop]._get_p1_id())
                        ) + int(self.eredmenyek[cs][sor][oszlop]._get_p2_id())
                        match_rekord = []
                        match_rekord.append(self.torna_id)
                        match_rekord.append(match_id)
                        match_rekord.append(
                            self.eredmenyek[cs][sor][oszlop]._get_p1_id())
                        match_rekord.append(
                            self.eredmenyek[cs][sor][oszlop]._get_p2_id())
                        match_rekord.append(self.variant)
                        match_rekord.append(self.sets)
                        match_rekord.append(self.legsperset)
                        match_rekord.append(csoport_tabla[cs])
                        match_rekords.append(match_rekord)

        insertDataQuery = QSqlQuery()
        insertDataQuery.prepare(""" 
            insert into torna_match (
                  torna_id,
                  match_id,
                  player1_id,
                  player2_id,
                  variant,
                  sets,
                  legsperset,
                  tabla
            )
            values (?, ?, ?, ?, ?, ?, ?, ?)
            """)
        for x in range(len(match_rekords)):
            for i in range(len(match_rekords[x])):
                insertDataQuery.addBindValue(match_rekords[x][i])
            insertDataQuery.exec_()

        self.write_tables()
コード例 #30
0
ファイル: cam_view.py プロジェクト: USnark772/RSCompanionV3
class CamView(AbstractView):
    def __init__(self,
                 name: str = "CAM_NONE",
                 log_handlers: [StreamHandler] = None):
        self._logger = getLogger(__name__)
        if log_handlers:
            for h in log_handlers:
                self._logger.addHandler(h)
        self._logger.debug("Initializing")
        super().__init__(name)
        """ Min size for cam window """
        self._subwindow_height = 222
        self._subwindow_width = 518

        self._initialization_bar_frame = EasyFrame()
        self._initialization_bar_frame.setMouseTracking(True)
        self._initialization_bar_frame.setMaximumHeight(70)
        self._initialization_bar_layout = QVBoxLayout(
            self._initialization_bar_frame)

        self._initialization_bar_label = QLabel(self._initialization_bar_frame)
        self._initialization_bar_label.setMouseTracking(True)
        self._initialization_bar = QProgressBar(self._initialization_bar_frame)
        self._initialization_bar.setMouseTracking(True)
        self._initialization_bar.setMaximumHeight(15)
        self._initialization_bar.setTextVisible(True)
        self._initialization_bar.setAlignment(Qt.AlignHCenter)

        self._initialization_bar_layout.addWidget(
            self._initialization_bar_label)
        self._initialization_bar_layout.addWidget(self._initialization_bar)

        self._cam_settings_frame = EasyFrame()
        self._cam_settings_layout = QGridLayout(self._cam_settings_frame)

        self._resolution_selector_label = QLabel(self._cam_settings_frame)
        self._resolution_selector_label.setAlignment(Qt.AlignLeft)

        self._resolution_selector = QComboBox(self._cam_settings_frame)
        self._resolution_selector.setMaximumHeight(22)

        self._cam_settings_layout.addWidget(self._resolution_selector_label, 0,
                                            0)
        self._cam_settings_layout.addWidget(self._resolution_selector, 0, 1)

        self._fps_selector_label = QLabel(self._cam_settings_frame)
        self._fps_selector_label.setAlignment(Qt.AlignLeft)

        self._fps_selector = QComboBox(self._cam_settings_frame)
        self._fps_selector.setMaximumHeight(22)

        self._cam_settings_layout.addWidget(self._fps_selector_label, 1, 0)
        self._cam_settings_layout.addWidget(self._fps_selector, 1, 1)

        self._show_feed_checkbox_label = QLabel(self._cam_settings_frame)
        self._show_feed_checkbox_label.setAlignment(Qt.AlignLeft)

        self._show_feed_checkbox = QCheckBox()
        self._show_feed_checkbox.setChecked(True)
        self._show_feed_checkbox.setLayoutDirection(Qt.RightToLeft)

        self._cam_settings_layout.addWidget(self._show_feed_checkbox_label, 2,
                                            0)
        self._cam_settings_layout.addWidget(self._show_feed_checkbox, 2, 1)

        self._use_cam_checkbox_label = QLabel(self._cam_settings_frame)
        self._use_cam_checkbox_label.setAlignment(Qt.AlignLeft)

        self._use_cam_checkbox = QCheckBox()
        self._use_cam_checkbox.setChecked(True)
        self._use_cam_checkbox.setLayoutDirection(Qt.RightToLeft)

        self._cam_settings_layout.addWidget(self._use_cam_checkbox_label, 3, 0)
        self._cam_settings_layout.addWidget(self._use_cam_checkbox, 3, 1)

        self._use_overlay_checkbox_label = QLabel(self._cam_settings_frame)
        self._use_overlay_checkbox_label.setAlignment(Qt.AlignLeft)

        self._use_overlay_checkbox = QCheckBox()
        self._use_overlay_checkbox.setChecked(True)
        self._use_overlay_checkbox.setLayoutDirection(Qt.RightToLeft)

        self._cam_settings_layout.addWidget(self._use_overlay_checkbox_label,
                                            4, 0)
        self._cam_settings_layout.addWidget(self._use_overlay_checkbox, 4, 1)

        self._image_display_frame = EasyFrame()
        self._image_display_layout = QVBoxLayout(self._image_display_frame)

        self._image_display_label = QLabel(self._image_display_frame)
        self._image_display_label.setAlignment(Qt.AlignHCenter)
        self._image_display = QLabel(self._image_display_frame)
        self._image_display.setAlignment(Qt.AlignCenter)
        self._image_display.setMouseTracking(True)
        self._image_display_layout.addWidget(self._image_display_label)
        self._image_display_layout.addWidget(self._image_display)

        spacer = QSpacerItem(1, 1, vData=QSizePolicy.Expanding)

        self._dev_sets_frame = EasyFrame()
        self._dev_sets_layout = QVBoxLayout(self._dev_sets_frame)

        self.config_button = ClickAnimationButton()
        self.config_button.clicked.connect(self._config_button_handler)

        self.layout().addWidget(self.config_button, 0, 0,
                                Qt.AlignTop | Qt.AlignRight)
        self.config_button.setFixedSize(30, 25)
        self.config_button.setStyleSheet(
            "background-color: rgba(200, 200, 200, 50%)")

        self._dev_sets_layout.addWidget(self._cam_settings_frame)
        self._dev_sets_layout.addItem(spacer)
        self.layout().addWidget(self._image_display, 0, 0)
        self.layout().addWidget(self._initialization_bar_frame, 0, 0)

        self._config_items = [
            self._resolution_selector,
            self._fps_selector,
            self._use_cam_checkbox,
            self._show_feed_checkbox,
            self._use_overlay_checkbox,
        ]

        config_win_w = 350
        config_win_h = len(self._config_items) * 30

        self.config_button.raise_()

        self._config_win = ConfigPopUp()
        self._config_win.setLayout(self._dev_sets_layout)
        self._config_win.setFixedSize(config_win_w, config_win_h)

        self._rec_label = QLabel()
        self._rec_label.setStyleSheet(
            "background-color: rgba(0, 0, 0, 0%); color: red; font: 20px")
        self._rec_label.hide()

        self.layout().addWidget(self._rec_label, 0, 0,
                                Qt.AlignBottom | Qt.AlignRight)

        self.layout().setMargin(0)

        self._window_changing = False
        self._showing_images = False
        self._hidden = False
        w = 320
        self._aspect_ratio = 9 / 16
        self.resize(w, self.heightForWidth(w))
        self._strings = dict()
        self._lang_enum = LangEnum.ENG
        self.setMinimumSize(self._subwindow_width, self._subwindow_height)
        self.old_size = QSize(self.width(), self.height())

        self._logger.debug("Initialized")

    def set_show_feed_button_handler(self, func) -> None:
        """
        Add handler for show camera selector.
        :param func: The handler.
        :return None:
        """
        self._logger.debug("running")
        self._show_feed_checkbox.toggled.connect(func)
        self._logger.debug("done")

    def set_resolution_selector_handler(self, func) -> None:
        """
        Add handler for resolution selector.
        :param func: The handler.
        :return None:
        """
        self._logger.debug("running")
        self._resolution_selector.activated.connect(func)
        self._logger.debug("done")

    def set_fps_selector_handler(self, func) -> None:
        """
        Add handler for resolution selector.
        :param func: The handler.
        :return None:
        """
        self._logger.debug("running")
        self._fps_selector.activated.connect(func)
        self._logger.debug("done")

    def set_use_cam_button_handler(self, func) -> None:
        """
        Add handler for use camera selector.
        :param func: The handler.
        :return None:
        """
        self._logger.debug("running")
        self._use_cam_checkbox.toggled.connect(func)
        self._logger.debug("done")

    def set_use_overlay_button_handler(self, func) -> None:
        """
        Add handler for use camera selector.
        :param func: The handler.
        :return None:
        """
        self._logger.debug("running")
        self._use_overlay_checkbox.toggled.connect(func)
        self._logger.debug("done")

    def _config_button_handler(self) -> None:
        """
        Show config pop up.
        :return None:
        """
        self._logger.debug("running")
        self.config_button.setStyleSheet(
            "background-color: rgba(200, 200, 200, 50%)")
        self._config_win.exec_()
        self._logger.debug("done")

    @property
    def language(self) -> LangEnum:
        """
        :return: The current lang enum being used.
        """
        return self._lang_enum

    @language.setter
    def language(self, lang: LangEnum) -> None:
        """
        Set the language for this view object.
        :param lang: The language to use.
        :return None:
        """
        self._logger.debug("running")
        self._lang_enum = lang
        self._strings = strings[lang]
        self._set_texts()
        self._set_tooltips()
        self._logger.debug("done")

    @property
    def resolution_list(self) -> list:
        """
        Get list of resolutions.
        :return list: The list of resolutions.
        """
        ret = list()
        return ret

    @resolution_list.setter
    def resolution_list(self, res_list: list) -> None:
        """
        Set list of resolutions available to res_list.
        :param res_list: The list of available resolutions.
        :return None:
        """
        self._logger.debug("running")
        self._resolution_selector.clear()
        for item in res_list:
            self._resolution_selector.addItem(str(item))
        self._logger.debug("done")

    @property
    def resolution(self) -> str:
        """
        Get the current resolution selection.
        :return str: The current resolution.
        """
        return self._resolution_selector.currentText()

    @resolution.setter
    def resolution(self, res: str) -> None:
        """
        Set the current resolution selection.
        :param res: The resolution to set to.
        :return None:
        """
        self._resolution_selector.setCurrentIndex(
            self._resolution_selector.findText(res))

    @property
    def fps_list(self) -> list:
        """
        Get list of fps options.
        :return list: The list of fps options.
        """
        ret = list()
        return ret

    @fps_list.setter
    def fps_list(self, fps_list: list) -> None:
        """
        Set list of available fps to fps_list.
        :param fps_list:
        :return None:
        """
        self._logger.debug("running")
        self._fps_selector.clear()
        for item in fps_list:
            self._fps_selector.addItem(str(item))
        self._logger.debug("done")

    @property
    def fps(self) -> str:
        """
        Get the current fps selection.
        :return str: The current fps selection.
        """
        return self._fps_selector.currentText()

    @fps.setter
    def fps(self, fps: str) -> None:
        """
        Set the current fps selection.
        :param fps: The fps to set to.
        :return None:
        """
        self._logger.debug("running")
        self._fps_selector.setCurrentIndex(self._fps_selector.findText(fps))
        self._logger.debug("done")

    @property
    def use_feed(self) -> bool:
        """
        Get the current use_cam setting.
        :return bool: User selection for using cam.
        """
        return self._show_feed_checkbox.isChecked()

    @use_feed.setter
    def use_feed(self, useable: bool) -> None:
        """
        Set use_cam setting.
        :param useable: The setting to set to.
        :return None:
        """
        self._logger.debug("running")
        self._show_feed_checkbox.setChecked(useable)
        self._logger.debug("Done")

    @property
    def use_cam(self) -> bool:
        """
        Get the current use_cam setting.
        :return bool: User selection for using cam.
        """
        return self._use_cam_checkbox.isChecked()

    @use_cam.setter
    def use_cam(self, useable: bool) -> None:
        """
        Set use_cam setting.
        :param useable: The setting to set to.
        :return None:
        """
        self._logger.debug("running")
        self._use_cam_checkbox.setChecked(useable)
        self._logger.debug("Done")

    @property
    def use_overlay(self) -> bool:
        """
        Get the current use_overlay setting.
        :return bool: User selection for using overlay.
        """
        return self._use_overlay_checkbox.isChecked()

    @use_overlay.setter
    def use_overlay(self, useable: bool) -> None:
        """
        Set use_overlay setting.
        :param useable: The setting to set to.
        :return None:
        """
        self._logger.debug("running")
        self._use_overlay_checkbox.setChecked(useable)
        self._logger.debug("Done")

    def heightForWidth(self, w: int) -> int:
        return int(w * self._aspect_ratio)

    def widthForHeight(self, h: int) -> int:
        return int(h / self._aspect_ratio)

    def hideEvent(self, hideEvent: QHideEvent):
        """
        Track minimize event.
        :param hideEvent:
        :return None:
        """
        self._hidden = True

    def showEvent(self, showEvent: QShowEvent):
        """
        Track restore event.
        :param showEvent:
        :return None:
        """
        self._hidden = False

    def update_image(self, image: QPixmap = None, msg: str = None) -> None:
        """
        Update image viewer with new image.
        :param image: The new image to show.
        :param msg: The text to show if no image.
        :return None:
        """
        self._logger.debug("running")
        if not self._window_changing:
            if image is not None:
                temp_image_w = image.scaledToWidth(self.width() - 15)
                temp_image_h = image.scaledToHeight(self.height() - 35)
                if temp_image_w.height() > self.height() - 35:
                    self._image_display.setPixmap(temp_image_h)
                else:
                    self._image_display.setPixmap(temp_image_w)
            elif msg is not None:
                self._image_display.setText(msg)
        self._logger.debug("done")

    def show_images(self) -> None:
        """
        Show image display and hide initialization bar.
        :return None:
        """
        self._logger.debug("running")
        geo = self.geometry()
        self._showing_images = True
        self._initialization_bar_frame.hide()
        self._image_display.show()
        self.config_button.show()
        self.setStyleSheet("background-color: black")
        self.setGeometry(geo)
        self._logger.debug("done")

    def show_initialization(self) -> None:
        """
        Show initialization bar and hide image display.
        :return None:
        """
        self._logger.debug("running")
        self._showing_images = False
        self._image_display.hide()
        self.config_button.hide()
        self._initialization_bar_frame.show()
        self._logger.debug("done")

    def update_init_bar(self, progress: int) -> None:
        """
        set progress bar value to progress.
        :param progress: The value to set progress bar to.
        :return None:
        """
        self._logger.debug("running")
        if progress > 100:
            progress = 100
        elif progress < 0:
            progress = 0
        self._initialization_bar.setValue(progress)
        self._logger.debug("done")

    def set_config_active(self, is_active: bool) -> None:
        """
        Set whether this camera config options are usable.
        :param is_active: Usable.
        :return None:
        """
        self._logger.debug("running")
        if self._showing_images:
            if is_active:
                self._rec_label.hide()
            elif self.use_cam:
                self._rec_label.show()
        for item in self._config_items:
            item.setEnabled(is_active)
        self._logger.debug("done")

    def _set_texts(self) -> None:
        """
        Set the texts in this view object.
        :return None:
        """
        self._logger.debug("running")
        self._initialization_bar_label.setText(
            self._strings[StringsEnum.INITIALIZATION_BAR_LABEL])
        self._initialization_bar.setValue(0)
        self._image_display_label.setText(
            self._strings[StringsEnum.IMAGE_DISPLAY_LABEL])
        self._image_display.setText(self._strings[StringsEnum.IMAGE_DISPLAY])
        self._show_feed_checkbox_label.setText(
            self._strings[StringsEnum.SHOW_FEED_CHECKBOX_LABEL])
        self._use_cam_checkbox_label.setText(
            self._strings[StringsEnum.USE_CAM_CHECKBOX_LABEL])
        self._use_overlay_checkbox_label.setText(
            self._strings[StringsEnum.USE_OVERLAY_CHECKBOX_LABEL])
        self._resolution_selector_label.setText(
            self._strings[StringsEnum.RESOLUTION_SELECTOR_LABEL])
        self._fps_selector_label.setText(
            self._strings[StringsEnum.FPS_SELECTOR_LABEL])
        self._config_win.setWindowTitle(
            self.get_name() + " " +
            self._strings[StringsEnum.CONFIG_TAB_LABEL])
        self.config_button.setText("...")
        self._rec_label.setText("rec ●")
        self._logger.debug("done")

    def _set_tooltips(self) -> None:
        """
        Set the tooltips in this view object.
        :return None:
        """
        self._logger.debug("running")
        self._resolution_selector_label.setToolTip(
            self._strings[StringsEnum.RESOLUTION_SELECTOR_TOOLTIP])
        self._resolution_selector.setToolTip(
            self._strings[StringsEnum.RESOLUTION_SELECTOR_TOOLTIP])
        self._fps_selector_label.setToolTip(
            self._strings[StringsEnum.FPS_SELECTOR_TOOLTIP])
        self._fps_selector.setToolTip(
            self._strings[StringsEnum.FPS_SELECTOR_TOOLTIP])
        self._show_feed_checkbox_label.setToolTip(
            self._strings[StringsEnum.SHOW_FEED_CHECKBOX_TOOLTIP])
        self._show_feed_checkbox.setToolTip(
            self._strings[StringsEnum.SHOW_FEED_CHECKBOX_TOOLTIP])
        self._use_cam_checkbox_label.setToolTip(
            self._strings[StringsEnum.USE_CAM_CHECKBOX_TOOLTIP])
        self._use_cam_checkbox.setToolTip(
            self._strings[StringsEnum.USE_CAM_CHECKBOX_TOOLTIP])
        self._use_overlay_checkbox_label.setToolTip(
            self._strings[StringsEnum.USE_OVERLAY_TOOLTIP])
        self._use_overlay_checkbox.setToolTip(
            self._strings[StringsEnum.USE_OVERLAY_TOOLTIP])
        self._image_display.setToolTip(
            self._strings[StringsEnum.IMAGE_DISPLAY_TOOLTIP])
        self._logger.debug("done")