Ejemplo n.º 1
0
    def __init__(self, widget):
        self.form = widget

        main_layout = QtWidgets.QVBoxLayout(self.form)
        self.placement = True
        self.v = FreeCAD.Gui.ActiveDocument.ActiveView

        # ---- Move distance ----
        self.move_l_Label = QtWidgets.QLabel("Move distance:")
        self.move_l_Value = QtWidgets.QDoubleSpinBox()
        self.move_l_Value.setValue(60)
        self.move_l_Value.setSuffix(' mm')

        move_layout = QtWidgets.QHBoxLayout()
        move_layout.addWidget(self.move_l_Label)
        move_layout.addWidget(self.move_l_Value)

        # ---- Filter Length ----
        self.Filter_Length_Label = QtWidgets.QLabel("Filter Length")
        self.Filter_Length_Value = QtWidgets.QDoubleSpinBox()
        self.Filter_Length_Value.setValue(60)
        self.Filter_Length_Value.setSuffix(' mm')

        length_layout = QtWidgets.QHBoxLayout()
        length_layout.addWidget(self.Filter_Length_Label)
        length_layout.addWidget(self.Filter_Length_Value)

        # ---- Filter Width ----
        self.Filter_Width_Label = QtWidgets.QLabel("Filter Width")
        self.Filter_Width_Value = QtWidgets.QDoubleSpinBox()
        self.Filter_Width_Value.setValue(25)
        self.Filter_Width_Value.setSuffix(' mm')

        width_layout = QtWidgets.QHBoxLayout()
        width_layout.addWidget(self.Filter_Width_Label)
        width_layout.addWidget(self.Filter_Width_Value)

        # ---- Base width ----
        self.base_w_Label = QtWidgets.QLabel("Base width:")  #10/15/20/30/40
        self.ComboBox_base_w = QtWidgets.QComboBox()
        self.TextBase_W = ["10mm", "15mm", "20mm", "30mm", "40mm"]
        self.ComboBox_base_w.addItems(self.TextBase_W)
        self.ComboBox_base_w.setCurrentIndex(self.TextBase_W.index('20mm'))

        base_width_layout = QtWidgets.QHBoxLayout()
        base_width_layout.addWidget(self.base_w_Label)
        base_width_layout.addWidget(self.ComboBox_base_w)

        # ---- Tensioner Stroke ----
        self.tens_stroke_Label = QtWidgets.QLabel("Tensioner stroke:")
        self.tens_stroke_Value = QtWidgets.QDoubleSpinBox()
        self.tens_stroke_Value.setValue(20)
        self.tens_stroke_Value.setSuffix(' mm')

        tensioner_layout = QtWidgets.QHBoxLayout()
        tensioner_layout.addWidget(self.tens_stroke_Label)
        tensioner_layout.addWidget(self.tens_stroke_Value)

        # ---- Wall thick ----
        self.wall_th_Label = QtWidgets.QLabel("Wall thick:")
        self.wall_th_Value = QtWidgets.QDoubleSpinBox()
        self.wall_th_Value.setValue(3)
        self.wall_th_Value.setSuffix(' mm')

        wall_layout = QtWidgets.QHBoxLayout()
        wall_layout.addWidget(self.wall_th_Label)
        wall_layout.addWidget(self.wall_th_Value)

        # ---- Nut Type ----
        self.nut_hole_Label = QtWidgets.QLabel("Nut Type:")
        self.ComboBox_Nut_Hole = QtWidgets.QComboBox()
        self.TextNutType = ["M3", "M4", "M5", "M6"]
        self.ComboBox_Nut_Hole.addItems(self.TextNutType)
        self.ComboBox_Nut_Hole.setCurrentIndex(self.TextNutType.index('M3'))

        nut_layout = QtWidgets.QHBoxLayout()
        nut_layout.addWidget(self.nut_hole_Label)
        nut_layout.addWidget(self.ComboBox_Nut_Hole)

        # ---- Size Holder ----
        self.Size_Holder_Label = QtWidgets.QLabel("Motor size")
        self.ComboBox_Size_Holder = QtWidgets.QComboBox()
        self.TextSizeHolder = ["8", "11", "14", "17", "23", "34", "42"]
        self.ComboBox_Size_Holder.addItems(self.TextSizeHolder)
        self.ComboBox_Size_Holder.setCurrentIndex(
            self.TextSizeHolder.index('14'))

        nema_holder_layout = QtWidgets.QHBoxLayout()
        nema_holder_layout.addWidget(self.Size_Holder_Label)
        nema_holder_layout.addWidget(self.ComboBox_Size_Holder)

        # ---- Rail Max High  ----
        self.motor_high_Label = QtWidgets.QLabel("Rail high Motor holder")
        self.motor_high_Value = QtWidgets.QDoubleSpinBox()
        self.motor_high_Value.setValue(25)  #Value printed
        self.motor_high_Value.setSuffix(' mm')

        rail_layout = QtWidgets.QHBoxLayout()
        rail_layout.addWidget(self.motor_high_Label)
        rail_layout.addWidget(self.motor_high_Value)

        # ---- Thickness ----
        self.Thickness_Label = QtWidgets.QLabel("Motor holder thickness:")
        self.Thickness_Value = QtWidgets.QDoubleSpinBox()
        self.Thickness_Value.setValue(3)
        self.Thickness_Value.setMinimum(2)
        self.Thickness_Value.setSuffix(' mm')

        thickness_layout = QtWidgets.QHBoxLayout()
        thickness_layout.addWidget(self.Thickness_Label)
        thickness_layout.addWidget(self.Thickness_Value)

        # ---- Placement ----
        self.label_position = QtWidgets.QLabel("Placement ")
        self.label_pos_x = QtWidgets.QLabel("x:")
        self.label_pos_y = QtWidgets.QLabel("y:")
        self.label_pos_z = QtWidgets.QLabel("z:")
        self.pos_x = QtWidgets.QDoubleSpinBox()
        self.pos_y = QtWidgets.QDoubleSpinBox()
        self.pos_z = QtWidgets.QDoubleSpinBox()
        self.pos_x.setValue(0.000)
        self.pos_y.setValue(0.000)
        self.pos_z.setValue(0.000)
        self.pos_x.setDecimals(3)
        self.pos_y.setDecimals(3)
        self.pos_z.setDecimals(3)
        self.pos_x.setRange(minnum, maxnum)
        self.pos_y.setRange(minnum, maxnum)
        self.pos_z.setRange(minnum, maxnum)

        placement_layout = QtWidgets.QHBoxLayout()
        placement_layout_1 = QtWidgets.QHBoxLayout()
        placement_layout_2 = QtWidgets.QVBoxLayout()
        placement_layout_3 = QtWidgets.QVBoxLayout()

        placement_layout.addLayout(placement_layout_1)
        placement_layout.addLayout(placement_layout_2)
        placement_layout.addLayout(placement_layout_3)

        placement_layout_1.addWidget(self.label_position)
        placement_layout_2.addWidget(self.label_pos_x)
        placement_layout_2.addWidget(self.label_pos_y)
        placement_layout_2.addWidget(self.label_pos_z)
        placement_layout_3.addWidget(self.pos_x)
        placement_layout_3.addWidget(self.pos_y)
        placement_layout_3.addWidget(self.pos_z)

        main_layout.addLayout(move_layout)
        main_layout.addLayout(length_layout)
        main_layout.addLayout(width_layout)
        main_layout.addLayout(base_width_layout)
        main_layout.addLayout(tensioner_layout)
        main_layout.addLayout(wall_layout)
        main_layout.addLayout(nut_layout)
        main_layout.addLayout(nema_holder_layout)
        main_layout.addLayout(rail_layout)
        main_layout.addLayout(thickness_layout)
        main_layout.addLayout(placement_layout)

        self.track = self.v.addEventCallback("SoEvent", self.position)
Ejemplo n.º 2
0
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(797, 600)
        Form.setMinimumSize(QtCore.QSize(797, 600))
        Form.setMaximumSize(QtCore.QSize(797, 600))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/res/icon.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Form.setWindowIcon(icon)
        Form.setStyleSheet("")
        self.stackedWidget = QtWidgets.QStackedWidget(Form)
        self.stackedWidget.setEnabled(True)
        self.stackedWidget.setGeometry(QtCore.QRect(0, 0, 800, 600))
        self.stackedWidget.setStyleSheet("* {\n"
"    border: none;\n"
"}\n"
"\n"
"QStackedWidget > QWidget {    \n"
"    \n"
"    background-image: url(:/res/background.jpg);\n"
"}\n"
"\n"
"QPushButton {\n"
"    background: rgba(255, 255, 255, 128);\n"
"    font-size: 30px;\n"
"    border-radius: 30px;\n"
"    height: 150px;\n"
"}\n"
"\n"
"* {\n"
"    font-family: \'Calibri\';\n"
"    font-weight: bold;\n"
"    color: green;\n"
"}\n"
"\n"
"QPushButton:hover {\n"
"    background: rgba(255, 255, 255, 255);\n"
"}\n"
"\n"
"QPushButton:disabled {\n"
"    color: #52514e;\n"
"}")
        self.stackedWidget.setLineWidth(1)
        self.stackedWidget.setObjectName("stackedWidget")
        self.page = QtWidgets.QWidget()
        self.page.setObjectName("page")
        self.gridLayoutWidget = QtWidgets.QWidget(self.page)
        self.gridLayoutWidget.setGeometry(QtCore.QRect(-1, -1, 801, 601))
        self.gridLayoutWidget.setObjectName("gridLayoutWidget")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget)
        self.gridLayout_2.setSpacing(0)
        self.gridLayout_2.setContentsMargins(275, -1, 275, -1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.exitButton = QtWidgets.QPushButton(self.gridLayoutWidget)
        self.exitButton.setObjectName("exitButton")
        self.gridLayout_2.addWidget(self.exitButton, 3, 0, 1, 1)
        self.documentsButton = QtWidgets.QPushButton(self.gridLayoutWidget)
        self.documentsButton.setObjectName("documentsButton")
        self.gridLayout_2.addWidget(self.documentsButton, 1, 0, 1, 1)
        self.authorsButton = QtWidgets.QPushButton(self.gridLayoutWidget)
        self.authorsButton.setObjectName("authorsButton")
        self.gridLayout_2.addWidget(self.authorsButton, 2, 0, 1, 1)
        self.stackedWidget.addWidget(self.page)
        self.page_2 = QtWidgets.QWidget()
        self.page_2.setStyleSheet("* {\n"
"    font-family: \'Calibri\';\n"
"    font-weight: bold;\n"
"    color: green;\n"
"}")
        self.page_2.setObjectName("page_2")
        self.gridLayoutWidget_2 = QtWidgets.QWidget(self.page_2)
        self.gridLayoutWidget_2.setGeometry(QtCore.QRect(-1, -1, 801, 601))
        self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.gridLayoutWidget_2)
        self.gridLayout_3.setContentsMargins(40, 40, 40, 40)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.authors = QtWidgets.QWidget(self.gridLayoutWidget_2)
        self.authors.setStyleSheet("#authors {\n"
"    background-color: rgba(255, 255, 255, 128);\n"
"    border-radius: 30px;\n"
"}")
        self.authors.setObjectName("authors")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.authors)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(-1, -1, 1103, 441))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(30, -1, -1, -1)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Calibri")
        font.setPointSize(30)
        font.setWeight(75)
        font.setBold(True)
        self.label.setFont(font)
        self.label.setStyleSheet("")
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.label_4 = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Calibri")
        font.setPointSize(30)
        font.setWeight(75)
        font.setBold(True)
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.verticalLayout.addWidget(self.label_4)
        self.label_5 = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Calibri")
        font.setPointSize(30)
        font.setWeight(75)
        font.setBold(True)
        self.label_5.setFont(font)
        self.label_5.setText("")
        self.label_5.setObjectName("label_5")
        self.verticalLayout.addWidget(self.label_5)
        self.label_6 = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Calibri")
        font.setPointSize(30)
        font.setWeight(75)
        font.setBold(True)
        self.label_6.setFont(font)
        self.label_6.setObjectName("label_6")
        self.verticalLayout.addWidget(self.label_6)
        self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Calibri")
        font.setPointSize(30)
        font.setWeight(75)
        font.setBold(True)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)
        self.gridLayout_3.addWidget(self.authors, 0, 0, 1, 1)
        self.authorsBackButton = QtWidgets.QPushButton(self.gridLayoutWidget_2)
        self.authorsBackButton.setStyleSheet("height: 70px;\n"
"margin-left:150px;\n"
"margin-right:150px;")
        self.authorsBackButton.setObjectName("authorsBackButton")
        self.gridLayout_3.addWidget(self.authorsBackButton, 1, 0, 1, 1)
        self.stackedWidget.addWidget(self.page_2)
        self.page_3 = QtWidgets.QWidget()
        self.page_3.setStyleSheet("QPushButton {\n"
"    height: 110px;\n"
"}")
        self.page_3.setObjectName("page_3")
        self.gridLayoutWidget_3 = QtWidgets.QWidget(self.page_3)
        self.gridLayoutWidget_3.setGeometry(QtCore.QRect(-1, -1, 801, 623))
        self.gridLayoutWidget_3.setObjectName("gridLayoutWidget_3")
        self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget_3)
        self.gridLayout.setContentsMargins(275, -1, 275, 20)
        self.gridLayout.setObjectName("gridLayout")
        self.booksButton = QtWidgets.QPushButton(self.gridLayoutWidget_3)
        self.booksButton.setObjectName("booksButton")
        self.gridLayout.addWidget(self.booksButton, 1, 0, 1, 1)
        self.videosButton = QtWidgets.QPushButton(self.gridLayoutWidget_3)
        self.videosButton.setObjectName("videosButton")
        self.gridLayout.addWidget(self.videosButton, 2, 0, 1, 1)
        self.presentationsButton = QtWidgets.QPushButton(self.gridLayoutWidget_3)
        self.presentationsButton.setObjectName("presentationsButton")
        self.gridLayout.addWidget(self.presentationsButton, 0, 0, 1, 1)
        self.menuBackButton = QtWidgets.QPushButton(self.gridLayoutWidget_3)
        self.menuBackButton.setObjectName("menuBackButton")
        self.gridLayout.addWidget(self.menuBackButton, 3, 0, 1, 1)
        self.stackedWidget.addWidget(self.page_3)
        self.page_4 = QtWidgets.QWidget()
        self.page_4.setObjectName("page_4")
        self.gridLayoutWidget_4 = QtWidgets.QWidget(self.page_4)
        self.gridLayoutWidget_4.setGeometry(QtCore.QRect(0, 0, 801, 601))
        self.gridLayoutWidget_4.setObjectName("gridLayoutWidget_4")
        self.gridLayout_4 = QtWidgets.QGridLayout(self.gridLayoutWidget_4)
        self.gridLayout_4.setSpacing(0)
        self.gridLayout_4.setContentsMargins(30, 30, 30, 30)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.listBackButton = QtWidgets.QPushButton(self.gridLayoutWidget_4)
        self.listBackButton.setStyleSheet("height: 110px;\n"
"margin-top: 20px;\n"
"margin-left: 20px;")
        self.listBackButton.setObjectName("listBackButton")
        self.gridLayout_4.addWidget(self.listBackButton, 1, 1, 1, 1)
        self.listOpenButton = QtWidgets.QPushButton(self.gridLayoutWidget_4)
        self.listOpenButton.setEnabled(False)
        self.listOpenButton.setStyleSheet("height: 110px;\n"
"margin-top: 20px;\n"
"margin-right: 20px;")
        self.listOpenButton.setObjectName("listOpenButton")
        self.gridLayout_4.addWidget(self.listOpenButton, 1, 0, 1, 1)
        self.listWidget = QtWidgets.QListWidget(self.gridLayoutWidget_4)
        self.listWidget.setStyleSheet("\n"
"QListWidget {\n"
"    background-color: rgba(255, 255, 255, 128);\n"
"    border: none;\n"
"    border-radius: 10px;\n"
"    padding: 10px;\n"
"    font-size: 40px;\n"
"}\n"
"\n"
"QListWidget::item {\n"
"    height: 70px;\n"
"}\n"
"\n"
"QListWidget::item:hover {\n"
"    background-color: white;\n"
"    color: green;\n"
"}\n"
"\n"
"QListWidget::item:selected {\n"
"    background-color: #71f594;\n"
"    border: none;\n"
"    color:green;\n"
"}")
        self.listWidget.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.listWidget.setLineWidth(0)
        self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
        self.listWidget.setUniformItemSizes(False)
        self.listWidget.setBatchSize(100)
        self.listWidget.setSelectionRectVisible(False)
        self.listWidget.setObjectName("listWidget")
        self.gridLayout_4.addWidget(self.listWidget, 0, 0, 1, 2)
        self.stackedWidget.addWidget(self.page_4)

        self.retranslateUi(Form)
        self.stackedWidget.setCurrentIndex(1)
        QtCore.QMetaObject.connectSlotsByName(Form)
Ejemplo n.º 3
0
    def setupUi(self, color_picker_ui):
        color_picker_ui.setObjectName("color_picker_ui")
        color_picker_ui.resize(440, 402)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            color_picker_ui.sizePolicy().hasHeightForWidth())
        color_picker_ui.setSizePolicy(sizePolicy)
        self.gridLayout_2 = QtWidgets.QGridLayout(color_picker_ui)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.tabs = QtWidgets.QTabWidget(color_picker_ui)
        self.tabs.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.tabs.sizePolicy().hasHeightForWidth())
        self.tabs.setSizePolicy(sizePolicy)
        self.tabs.setStyleSheet(
            "QTabBar::tab {\n"
            "background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);\n"
            "border: 2px solid #C4C4C3;\n"
            "border-bottom-color: #C2C7CB; /* same as the pane color */\n"
            "border-top-left-radius: 4px;\n"
            "border-top-right-radius: 4px;\n"
            "min-width: 35ex;\n"
            "padding: 2px;\n"
            "}\n"
            "QTabBar::tab:selected, QTabBar::tab:hover {\n"
            "background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #fafafa, stop: 0.4 #f4f4f4, stop: 0.5 #e7e7e7, stop: 1.0 #fafafa);\n"
            "}\n"
            "QTabBar::tab:selected {\n"
            "border-color: #9B9B9B;\n"
            "border-bottom-color: #C2C7CB; /* same as pane color */\n"
            "}\n"
            "QTabBar::tab:!selected {\n"
            "margin-top: 4px; /* make non-selected tabs look smaller */color: gray;\n"
            "}\n"
            "\n"
            "QTabBar::tab:selected {\n"
            "/* expand/overlap to the left and right by 4px */font: bold; color: green;\n"
            "margin-left: -4px;\n"
            "margin-right: -4px;\n"
            "}\n"
            "QTabBar::tab:first:selected {\n"
            "margin-left: 0; /* the first selected tab has nothing to overlap with on the left */\n"
            "}\n"
            "QTabBar::tab:last:selected {\n"
            "margin-right: 0; /* the last selected tab has nothing to overlap with on the right */\n"
            "}\n"
            "QTabBar::tab:only-one {\n"
            "margin: 0; /* if there is only one tab, we don\'t want overlapping margins */\n"
            "}\n"
            "\n"
            " QTabWidget::pane\n"
            " {\n"
            "     border-top: 1px solid gray;\n"
            "     border-left: 1px solid gray;\n"
            "     border-right: 1px solid gray;\n"
            "     border-bottom: 1px solid gray;\n"
            " }\n"
            "\n"
            "\n"
            "")
        self.tabs.setTabShape(QtWidgets.QTabWidget.Rounded)
        self.tabs.setIconSize(QtCore.QSize(14, 14))
        self.tabs.setElideMode(QtCore.Qt.ElideMiddle)
        self.tabs.setObjectName("tabs")
        self.material_design_tab = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.material_design_tab.sizePolicy().hasHeightForWidth())
        self.material_design_tab.setSizePolicy(sizePolicy)
        self.material_design_tab.setCursor(QtCore.Qt.ArrowCursor)
        self.material_design_tab.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.material_design_tab.setAutoFillBackground(False)
        self.material_design_tab.setObjectName("material_design_tab")
        self.material_design_gridLayout = QtWidgets.QGridLayout(
            self.material_design_tab)
        self.material_design_gridLayout.setSpacing(0)
        self.material_design_gridLayout.setContentsMargins(0, 0, 0, 0)
        self.material_design_gridLayout.setObjectName(
            "material_design_gridLayout")
        self.tabs.addTab(self.material_design_tab, "")
        self.custom_tab = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.custom_tab.sizePolicy().hasHeightForWidth())
        self.custom_tab.setSizePolicy(sizePolicy)
        self.custom_tab.setObjectName("custom_tab")
        self.custom_gridLayout = QtWidgets.QGridLayout(self.custom_tab)
        self.custom_gridLayout.setSpacing(0)
        self.custom_gridLayout.setContentsMargins(0, 0, 0, 0)
        self.custom_gridLayout.setObjectName("custom_gridLayout")
        self.tabs.addTab(self.custom_tab, "")
        self.maya_index_tab = QtWidgets.QWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.maya_index_tab.sizePolicy().hasHeightForWidth())
        self.maya_index_tab.setSizePolicy(sizePolicy)
        self.maya_index_tab.setObjectName("maya_index_tab")
        self.maya_index_gridLayout = QtWidgets.QGridLayout(self.maya_index_tab)
        self.maya_index_gridLayout.setSpacing(0)
        self.maya_index_gridLayout.setContentsMargins(0, 0, 0, 0)
        self.maya_index_gridLayout.setObjectName("maya_index_gridLayout")
        self.tabs.addTab(self.maya_index_tab, "")
        self.gridLayout_2.addWidget(self.tabs, 0, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.line_2 = QtWidgets.QFrame(color_picker_ui)
        self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.horizontalLayout.addWidget(self.line_2)
        spacerItem = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.color_check_layout = QtWidgets.QVBoxLayout()
        self.color_check_layout.setObjectName("color_check_layout")
        self.color_label = QtWidgets.QLabel(color_picker_ui)
        self.color_label.setObjectName("color_label")
        self.color_check_layout.addWidget(self.color_label)
        self.viewport_box = QtWidgets.QCheckBox(color_picker_ui)
        self.viewport_box.setChecked(True)
        self.viewport_box.setObjectName("viewport_box")
        self.color_check_layout.addWidget(self.viewport_box)
        self.outliner_box = QtWidgets.QCheckBox(color_picker_ui)
        self.outliner_box.setObjectName("outliner_box")
        self.color_check_layout.addWidget(self.outliner_box)
        self.horizontalLayout.addLayout(self.color_check_layout)
        spacerItem1 = QtWidgets.QSpacerItem(13, 20,
                                            QtWidgets.QSizePolicy.Fixed,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.vertical_line = QtWidgets.QFrame(color_picker_ui)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.vertical_line.sizePolicy().hasHeightForWidth())
        self.vertical_line.setSizePolicy(sizePolicy)
        self.vertical_line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_line.setFrameShape(QtWidgets.QFrame.VLine)
        self.vertical_line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_line.setObjectName("vertical_line")
        self.horizontalLayout.addWidget(self.vertical_line)
        spacerItem2 = QtWidgets.QSpacerItem(13, 20,
                                            QtWidgets.QSizePolicy.Fixed,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.override_check_layout = QtWidgets.QVBoxLayout()
        self.override_check_layout.setObjectName("override_check_layout")
        self.override_label = QtWidgets.QLabel(color_picker_ui)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.override_label.sizePolicy().hasHeightForWidth())
        self.override_label.setSizePolicy(sizePolicy)
        self.override_label.setObjectName("override_label")
        self.override_check_layout.addWidget(self.override_label)
        self.shape_button = QtWidgets.QRadioButton(color_picker_ui)
        self.shape_button.setChecked(True)
        self.shape_button.setAutoRepeat(True)
        self.shape_button.setAutoExclusive(True)
        self.shape_button.setObjectName("shape_button")
        self.override_check_layout.addWidget(self.shape_button)
        self.transform_button = QtWidgets.QRadioButton(color_picker_ui)
        self.transform_button.setAutoRepeat(True)
        self.transform_button.setAutoExclusive(True)
        self.transform_button.setObjectName("transform_button")
        self.override_check_layout.addWidget(self.transform_button)
        self.horizontalLayout.addLayout(self.override_check_layout)
        self.line_3 = QtWidgets.QFrame(color_picker_ui)
        self.line_3.setFrameShape(QtWidgets.QFrame.VLine)
        self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_3.setObjectName("line_3")
        self.horizontalLayout.addWidget(self.line_3)
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        spacerItem3 = QtWidgets.QSpacerItem(20, 5,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Fixed)
        self.gridLayout.addItem(spacerItem3, 2, 1, 1, 1)
        spacerItem4 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem4, 1, 0, 1, 1)
        spacerItem5 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem5, 1, 2, 1, 1)
        self.custom_button = QtWidgets.QPushButton(color_picker_ui)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.custom_button.sizePolicy().hasHeightForWidth())
        self.custom_button.setSizePolicy(sizePolicy)
        self.custom_button.setStyleSheet(
            "QPushButton {\n"
            "color: #333;\n"
            "border: 2px solid #555;\n"
            "border-radius: 3px;\n"
            "border-style: solid black;\n"
            "background: qradialgradient(\n"
            "cx: 0.3, cy: -0.4, fx: 0.3, fy: -0.4,\n"
            "radius: 3, stop: 0 #ccff90, stop: 1 #888\n"
            ");\n"
            "padding: 8px;\n"
            "}\n"
            "QPushButton:hover {\n"
            "background: qradialgradient(\n"
            "cx: 0.3, cy: -0.8, fx: 0.3, fy: -0.8,\n"
            "radius: 1, stop: 0 #ccff90, stop: 1 #bbb\n"
            ");\n"
            "}\n"
            "QPushButton:pressed {\n"
            "border-style: inset;\n"
            "background: qradialgradient(\n"
            "cx: 0.4, cy: -0.1, fx: 0.4, fy: -0.1,\n"
            "radius: 1.35, stop: 0 #ccff90, stop: 1 #ddd\n"
            ");\n"
            "}")
        self.custom_button.setCheckable(False)
        self.custom_button.setObjectName("custom_button")
        self.gridLayout.addWidget(self.custom_button, 1, 1, 1, 1)
        spacerItem6 = QtWidgets.QSpacerItem(20, 5,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Fixed)
        self.gridLayout.addItem(spacerItem6, 0, 1, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout)
        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 1)
        self.line = QtWidgets.QFrame(color_picker_ui)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.line.sizePolicy().hasHeightForWidth())
        self.line.setSizePolicy(sizePolicy)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.gridLayout_2.addWidget(self.line, 2, 0, 1, 1)
        self.buttons_layout = QtWidgets.QHBoxLayout()
        self.buttons_layout.setObjectName("buttons_layout")
        spacerItem7 = QtWidgets.QSpacerItem(48, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.buttons_layout.addItem(spacerItem7)
        self.color_button = QtWidgets.QPushButton(color_picker_ui)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.color_button.sizePolicy().hasHeightForWidth())
        self.color_button.setSizePolicy(sizePolicy)
        self.color_button.setStyleSheet("")
        self.color_button.setObjectName("color_button")
        self.buttons_layout.addWidget(self.color_button)
        self.default_button = QtWidgets.QPushButton(color_picker_ui)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.default_button.sizePolicy().hasHeightForWidth())
        self.default_button.setSizePolicy(sizePolicy)
        self.default_button.setObjectName("default_button")
        self.buttons_layout.addWidget(self.default_button)
        self.cancel_button = QtWidgets.QPushButton(color_picker_ui)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.cancel_button.sizePolicy().hasHeightForWidth())
        self.cancel_button.setSizePolicy(sizePolicy)
        self.cancel_button.setMaximumSize(QtCore.QSize(16777215, 16777215))
        self.cancel_button.setObjectName("cancel_button")
        self.buttons_layout.addWidget(self.cancel_button)
        self.gridLayout_2.addLayout(self.buttons_layout, 3, 0, 1, 1)

        self.retranslateUi(color_picker_ui)
        self.tabs.setCurrentIndex(0)
        QtCore.QObject.connect(self.tabs, QtCore.SIGNAL("currentChanged(int)"),
                               self.custom_button.hide)
        QtCore.QObject.connect(self.tabs, QtCore.SIGNAL("currentChanged(int)"),
                               self.custom_button.show)
        QtCore.QMetaObject.connectSlotsByName(color_picker_ui)
Ejemplo n.º 4
0
    def __init__(self):
        super(ImageViewer, self).__init__()
        self.setWindowTitle("Image Viewer")
        vbox = QtWidgets.QVBoxLayout(self)
        vbox.setContentsMargins(0, 0, 0, 0)

        hbox = QtWidgets.QHBoxLayout()
        hbox.setContentsMargins(0, 0, 0, 0)
        vbox.addLayout(hbox)

        self.channelCombobox = QtWidgets.QComboBox()
        self.channelCombobox.setMaxVisibleItems(100)
        self.channelCombobox.addItems(['rgb'])
        self.channelCombobox.currentTextChanged.connect(self.on_channel_changed)
        self.channelCombobox.setStyleSheet("QComboBox{{max-width:{0}px;min-width:{0}px}}".format(45))

        self.gammaLabel = button()
        self.gammaLabel.setText("Gamma")
        self.gammaLabel.value_changed.connect(self.on_gamma_clicked)
        self.gammaLabel.setStyleSheet("QPushButton{background-color:transparent;margin:0px;padding:0px;"
                                      "font-size:15px;max-width:100px;max-height:100px}")

        self.gamma = PropFloat()
        self.gamma.set_value(1.0)
        self.gamma.value_changed.connect(self.on_postfx_changed)

        self.multiplyLabel = button()
        self.multiplyLabel.setText("Multiply")
        self.multiplyLabel.value_changed.connect(self.on_multiply_clicked)
        self.multiplyLabel.setStyleSheet("QPushButton{background-color:transparent;margin:0px;padding:0px;"
                                         "font-size:15px;max-width:100px;max-height:100px}")

        self.multiply = PropFloat()
        self.multiply.set_value(1.0)
        self.multiply.value_changed.connect(self.on_postfx_changed)

        # hbox.addWidget(channelLabel)
        hbox.addWidget(self.channelCombobox)
        hbox.addWidget(self.multiplyLabel)
        hbox.addWidget(self.multiply)
        hbox.addWidget(self.gammaLabel)
        hbox.addWidget(self.gamma)

        self.viewer = ImageGraphicsView()
        self.viewer.position_changed.connect(self.on_position_changed)
        self.viewer.color_changed.connect(self.on_color_changed)
        vbox.addWidget(self.viewer)

        hbox = QtWidgets.QHBoxLayout()
        hbox.setContentsMargins(0, 0, 0, 0)
        vbox.addLayout(hbox)

        self.positionLabel = QtWidgets.QLabel()
        self.positionLabel.setText("X:0,Y:0")
        self.positionLabel.setAlignment(QtCore.Qt.AlignLeft)
        self.positionLabel.setStyleSheet("QLabel{background-color:transparent;margin:0px;padding:0px;"
                                         "font-size:14px;border-width:0px;max-width:100px}")

        self.sizeLabel = QtWidgets.QLabel()
        self.sizeLabel.setText("Width:0,Height:0")
        self.sizeLabel.setAlignment(QtCore.Qt.AlignLeft)
        self.sizeLabel.setStyleSheet("QLabel{background-color:transparent;margin:0px;padding:0px;"
                                     "font-size:14px;border-width:0px;max-width:200px}")

        self.RLabel = QtWidgets.QLabel()
        self.RLabel.setText("R:0.000")
        self.RLabel.setAlignment(QtCore.Qt.AlignRight)
        self.RLabel.setStyleSheet("QLabel{background-color:transparent;margin:0px;padding:0px;"
                                  "font-size:14px;color:red;border-width:0px;max-width:70px}")

        self.GLabel = QtWidgets.QLabel()
        self.GLabel.setText("G:0.000")
        self.GLabel.setAlignment(QtCore.Qt.AlignRight)
        self.GLabel.setStyleSheet("QLabel{background-color:transparent;margin:0px;padding:0px;"
                                  "font-size:14px;color:green;border-width:0px;max-width:70px}")

        self.BLabel = QtWidgets.QLabel()
        self.BLabel.setText("B:0.000")
        self.BLabel.setAlignment(QtCore.Qt.AlignRight)
        self.BLabel.setStyleSheet("QLabel{background-color:transparent;margin:0px;padding:0px;"
                                  "font-size:14px;color:blue;border-width:0px;max-width:70px}")

        self.ALabel = QtWidgets.QLabel()
        self.ALabel.setText("A:0.000")
        self.ALabel.setAlignment(QtCore.Qt.AlignRight)
        self.ALabel.setStyleSheet("QLabel{background-color:transparent;margin:0px;padding:0px;"
                                  "font-size:14px;color:white;border-width:0px;max-width:70px}")

        hbox.addWidget(self.positionLabel)
        hbox.addWidget(self.sizeLabel)
        hbox.addStretch()
        hbox.addWidget(self.RLabel, QtCore.Qt.AlignRight)
        hbox.addWidget(self.GLabel)
        hbox.addWidget(self.BLabel)
        hbox.addWidget(self.ALabel)
        self.node = None
        self.block_signal = False
        self.block_value = False
Ejemplo n.º 5
0
    def __init__(
        self,
        video: Optional[Video] = None,
        skeleton: Optional["Skeleton"] = None,
        head: Optional[Text] = None,
        cfg_getter: Optional["TrainingConfigsGetter"] = None,
        require_trained: bool = False,
        *args,
        **kwargs,
    ):
        super(TrainingEditorWidget, self).__init__()

        self._video = video
        self._cfg_getter = cfg_getter
        self._cfg_list_widget = None
        self._receptive_field_widget = None
        self._use_trained_model = None
        self._require_trained = require_trained
        self.head = head

        yaml_name = "training_editor_form"

        self.form_widgets = dict()

        for key in ("model", "data", "augmentation", "optimization",
                    "outputs"):
            self.form_widgets[key] = YamlFormWidget.from_name(
                yaml_name, which_form=key, title=key.title())
            self.form_widgets[key].valueChanged.connect(self.emitValueChanged)

        self.form_widgets["model"].valueChanged.connect(
            self.update_receptive_field)
        self.form_widgets["data"].valueChanged.connect(
            self.update_receptive_field)

        if hasattr(skeleton, "node_names"):
            for field_name in NODE_LIST_FIELDS:
                form_name = field_name.split(".")[0]
                self.form_widgets[form_name].set_field_options(
                    field_name,
                    skeleton.node_names,
                )

        if self._video:
            self._receptive_field_widget = receptivefield.ReceptiveFieldWidget(
                self.head)
            self._receptive_field_widget.setImage(self._video.test_frame)

        self._set_head()

        # Layout for header and columns
        layout = QtWidgets.QVBoxLayout()

        # Two column layout for config parameters
        col1_layout = QtWidgets.QVBoxLayout()
        col2_layout = QtWidgets.QVBoxLayout()
        col3_layout = QtWidgets.QVBoxLayout()

        col1_layout.addWidget(self.form_widgets["data"])
        col1_layout.addWidget(self.form_widgets["optimization"])
        col2_layout.addWidget(self.form_widgets["augmentation"])
        col3_layout.addWidget(self.form_widgets["model"])

        if self._receptive_field_widget:
            col0_layout = QtWidgets.QVBoxLayout()
            col0_layout.addWidget(self._receptive_field_widget)
        else:
            col0_layout = None

        col_layout = QtWidgets.QHBoxLayout()
        if col0_layout:
            col_layout.addWidget(self._layout_widget(col0_layout))
        col_layout.addWidget(self._layout_widget(col1_layout))
        col_layout.addWidget(self._layout_widget(col2_layout))
        col_layout.addWidget(self._layout_widget(col3_layout))

        # If we have an object which gets a list of config files,
        # then we'll show a menu to allow selection from the list.

        if self._cfg_getter:
            self._cfg_list_widget = configs.TrainingConfigFilesWidget(
                cfg_getter=self._cfg_getter,
                head_name=head,
                require_trained=require_trained,
            )
            self._cfg_list_widget.onConfigSelection.connect(
                self.acceptSelectedConfigInfo)
            # self._cfg_list_widget.setDataDict.connect(self.set_fields_from_key_val_dict)

            layout.addWidget(self._cfg_list_widget)

            # Add option for using trained model from selected config
            if self._require_trained:
                self._update_use_trained()
            else:
                self._use_trained_model = QtWidgets.QCheckBox(
                    "Use Trained Model")
                self._use_trained_model.setEnabled(False)
                self._use_trained_model.setVisible(False)

                self._use_trained_model.stateChanged.connect(
                    self._update_use_trained)

                layout.addWidget(self._use_trained_model)

        layout.addWidget(self._layout_widget(col_layout))
        self.setLayout(layout)
Ejemplo n.º 6
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 420)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.formLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.formLayoutWidget.setGeometry(QtCore.QRect(400, 30, 331, 181))
        self.formLayoutWidget.setObjectName("formLayoutWidget")
        self.formLayout_2 = QtWidgets.QFormLayout(self.formLayoutWidget)
        self.formLayout_2.setContentsMargins(0, 0, 0, 0)
        self.formLayout_2.setObjectName("formLayout_2")
        self.label_6 = QtWidgets.QLabel(self.formLayoutWidget)
        self.label_6.setObjectName("label_6")
        self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_6)
        self.lineEdit_5 = QtWidgets.QLineEdit(self.formLayoutWidget)
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit_5)
        self.label_7 = QtWidgets.QLabel(self.formLayoutWidget)
        self.label_7.setObjectName("label_7")
        self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_7)
        self.lineEdit_6 = QtWidgets.QLineEdit(self.formLayoutWidget)
        self.lineEdit_6.setObjectName("lineEdit_6")
        self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.lineEdit_6)
        self.widget = QtWidgets.QWidget(self.centralwidget)
        self.widget.setGeometry(QtCore.QRect(100, 30, 261, 191))
        self.widget.setObjectName("widget")
        self.formLayout = QtWidgets.QFormLayout(self.widget)
        self.formLayout.setContentsMargins(0, 0, 0, 0)
        self.formLayout.setObjectName("formLayout")
        self.label = QtWidgets.QLabel(self.widget)
        self.label.setObjectName("label")
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label)
        self.lineEdit = QtWidgets.QLineEdit(self.widget)
        self.lineEdit.setObjectName("lineEdit")
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit)
        self.lineEdit_2 = QtWidgets.QLineEdit(self.widget)
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.lineEdit_2)
        self.label_3 = QtWidgets.QLabel(self.widget)
        self.label_3.setObjectName("label_3")
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_3)
        self.lineEdit_3 = QtWidgets.QLineEdit(self.widget)
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.lineEdit_3)
        self.label_4 = QtWidgets.QLabel(self.widget)
        self.label_4.setObjectName("label_4")
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4)
        self.comboBox = QtWidgets.QComboBox(self.widget)
        self.comboBox.setObjectName("comboBox")
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.comboBox)
        self.label_5 = QtWidgets.QLabel(self.widget)
        self.label_5.setObjectName("label_5")
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_5)
        self.lineEdit_4 = QtWidgets.QLineEdit(self.widget)
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.lineEdit_4)
        self.label_2 = QtWidgets.QLabel(self.widget)
        self.label_2.setObjectName("label_2")
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_2)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
Ejemplo n.º 7
0
 def create_layouts(self):
     self.layout = QtWidgets.QHBoxLayout(self)
     self.layout.setContentsMargins(0, 0, 0, 0)
     self.layout.setSpacing(0)
Ejemplo n.º 8
0
    def selectTargetFile(self):
        # path = QtWidgets.QFileDialog.getExistingDirectory(self, '选择文件', './')
        path = QtWidgets.QFileDialog.getOpenFileName(self, '选择文件', './')
        print(path[0])
        self.targetFile = path[0]
        self.text.setText("The following log file is selected:\n{0}".format(self.targetFile))

    def readDids(self):
        # eculog = EcuLog()
        # eculog.getResponseList(self.targetFile)
        # eculog.createStorage()
        # ecuBom = {}
        # for ecuName in EcuAddressMap:
        #     ecuBom[ecuName] = eculog.getF1AEbyName(ecuName)
        #     for swDID in SwDIDMap:
        #         ecuBom[ecuName].update(eculog.getNumberByName(ecuName, swDID))
        
        with open('swBOM.json', 'w') as f:
            json.dump(ecuBom, f, indent=4)
        self.text.setText("Read sucessfully and swBOM.json is generated!")


if __name__ == "__main__":
    app = QtWidgets.QApplication([])

    widget = MyWidget()
    widget.resize(400,300)
    widget.show()

    sys.exit(app.exec_())
Ejemplo n.º 9
0
 def onClicked(self, controller):
     self.menu = QtWidgets.QMenu()
     self.menu.addAction("Hello Python", lambda: print("clicked"))
     self.menu.popup(controller.callPopupPosition(self.menu.sizeHint()))
     self.menu.aboutToHide.connect(controller.callPopupClosed)
Ejemplo n.º 10
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1728, 874)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.startBtn = QtWidgets.QPushButton(self.centralwidget)
        self.startBtn.setGeometry(QtCore.QRect(1470, 30, 111, 28))
        self.startBtn.setObjectName("startBtn")
        self.updateBtn = QtWidgets.QPushButton(self.centralwidget)
        self.updateBtn.setGeometry(QtCore.QRect(1590, 30, 111, 28))
        self.updateBtn.setObjectName("updateBtn")
        self.frameTxt = QtWidgets.QLabel(self.centralwidget)
        self.frameTxt.setGeometry(QtCore.QRect(1300, 100, 111, 16))
        self.frameTxt.setObjectName("frameTxt")
        self.targetTxt_2 = QtWidgets.QLabel(self.centralwidget)
        self.targetTxt_2.setGeometry(QtCore.QRect(720, 100, 121, 16))
        self.targetTxt_2.setObjectName("targetTxt_2")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(140, 20, 151, 20))
        self.label_5.setObjectName("label_5")
        self.loadBtn = QtWidgets.QPushButton(self.centralwidget)
        self.loadBtn.setGeometry(QtCore.QRect(1290, 30, 171, 28))
        self.loadBtn.setObjectName("loadBtn")
        self.textOut = QtWidgets.QLabel(self.centralwidget)
        self.textOut.setGeometry(QtCore.QRect(60, 510, 300, 300))
        self.textOut.setText("")
        self.textOut.setObjectName("textOut")
        self.graficOut = QtWidgets.QLabel(self.centralwidget)
        self.graficOut.setGeometry(QtCore.QRect(10, 70, 430, 430))
        self.graficOut.setText("")
        self.graficOut.setObjectName("graficOut")
        self.label_8 = QtWidgets.QLabel(self.centralwidget)
        self.label_8.setGeometry(QtCore.QRect(160, 490, 151, 20))
        self.label_8.setObjectName("label_8")
        self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(60, 510, 300, 300))
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.groupBox_2 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_2.setGeometry(QtCore.QRect(10, 50, 430, 430))
        self.groupBox_2.setTitle("")
        self.groupBox_2.setObjectName("groupBox_2")
        self.groupBox_3 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_3.setGeometry(QtCore.QRect(470, 160, 600, 600))
        self.groupBox_3.setTitle("")
        self.groupBox_3.setObjectName("groupBox_3")
        self.frame = QtWidgets.QLabel(self.groupBox_3)
        self.frame.setGeometry(QtCore.QRect(0, 0, 600, 600))
        self.frame.setText("")
        self.frame.setObjectName("frame")
        self.groupBox_4 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_4.setGeometry(QtCore.QRect(1100, 160, 600, 600))
        self.groupBox_4.setTitle("")
        self.groupBox_4.setObjectName("groupBox_4")
        self.target = QtWidgets.QLabel(self.groupBox_4)
        self.target.setGeometry(QtCore.QRect(0, 0, 600, 600))
        self.target.setText("")
        self.target.setObjectName("target")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1728, 26))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
Ejemplo n.º 11
0
 def _create_select_note(self):
     self.note = QtWidgets.QLabel("")
     layout = QtWidgets.QHBoxLayout()
     layout.addWidget(self.note)
     return layout
Ejemplo n.º 12
0
    def __init__(self, parent=None):
        super(StatusTableWidgetItem, self).__init__(parent=parent)

        self.layout = QtWidgets.QHBoxLayout()
        self.setLayout(self.layout)
    def setup_ui(self, main_window) -> None:
        main_window.setObjectName('MainWindow')
        main_window.resize(1124, 567)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            main_window.sizePolicy().hasHeightForWidth())
        main_window.setSizePolicy(sizePolicy)
        self.centralwidget = QtWidgets.QWidget(main_window)
        self.centralwidget.setObjectName('centralwidget')
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName('gridLayout')
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName('horizontalLayout_4')
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem)
        self.label = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setFamily('微软雅黑')
        font.setPointSize(32)
        self.label.setFont(font)
        self.label.setObjectName('label')
        self.horizontalLayout_4.addWidget(self.label)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem1)
        self.gridLayout.addLayout(self.horizontalLayout_4, 0, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName('horizontalLayout')
        self.pB_ON = QtWidgets.QPushButton(self.centralwidget)
        self.pB_ON.setObjectName('pB_ON')
        self.horizontalLayout.addWidget(self.pB_ON)
        self.pB_OFF = QtWidgets.QPushButton(self.centralwidget)
        self.pB_OFF.setObjectName('pB_OFF')
        self.horizontalLayout.addWidget(self.pB_OFF)
        self.pB_UP_ON = QtWidgets.QPushButton(self.centralwidget)
        self.pB_UP_ON.setObjectName('pB_UP_ON')
        self.horizontalLayout.addWidget(self.pB_UP_ON)
        self.pB_UP_KEEP = QtWidgets.QPushButton(self.centralwidget)
        self.pB_UP_KEEP.setObjectName('pB_UP_KEEP')
        self.horizontalLayout.addWidget(self.pB_UP_KEEP)
        self.pB_UP_OFF = QtWidgets.QPushButton(self.centralwidget)
        self.pB_UP_OFF.setObjectName('pB_UP_OFF')
        self.horizontalLayout.addWidget(self.pB_UP_OFF)
        self.pB_SET_POINT = QtWidgets.QPushButton(self.centralwidget)
        self.pB_SET_POINT.setObjectName('pB_SET_POINT')
        self.horizontalLayout.addWidget(self.pB_SET_POINT)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.pB_info = QtWidgets.QPushButton(self.centralwidget)
        self.pB_info.setObjectName('pB_info')
        self.horizontalLayout.addWidget(self.pB_info)
        self.pB_signal = QtWidgets.QPushButton(self.centralwidget)
        self.pB_signal.setObjectName('pB_signal')
        self.horizontalLayout.addWidget(self.pB_signal)
        self.ROOT = QtWidgets.QPushButton(self.centralwidget)
        self.ROOT.setObjectName('ROOT')
        self.horizontalLayout.addWidget(self.ROOT)
        self.gridLayout.addLayout(self.horizontalLayout, 1, 0, 1, 1)
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setObjectName('tableWidget')
        self.tableWidget.setColumnCount(0)
        self.tableWidget.setRowCount(0)
        self.gridLayout.addWidget(self.tableWidget, 2, 0, 1, 1)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName('horizontalLayout_2')
        self.pB_all = QtWidgets.QPushButton(self.centralwidget)
        self.pB_all.setObjectName('pB_all')
        self.horizontalLayout_2.addWidget(self.pB_all)
        self.pB_inverse = QtWidgets.QPushButton(self.centralwidget)
        self.pB_inverse.setObjectName('pB_inverse')
        self.horizontalLayout_2.addWidget(self.pB_inverse)
        self.pB_cancel = QtWidgets.QPushButton(self.centralwidget)
        self.pB_cancel.setObjectName('pB_cancel')
        self.horizontalLayout_2.addWidget(self.pB_cancel)
        spacerItem3 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem3)
        self.MODIFY_SSID_PASSWORD = QtWidgets.QPushButton(self.centralwidget)
        self.MODIFY_SSID_PASSWORD.setObjectName('MODIFY_SSID_PASSWORD')
        self.horizontalLayout_2.addWidget(self.MODIFY_SSID_PASSWORD)
        self.gridLayout.addLayout(self.horizontalLayout_2, 3, 0, 1, 1)
        main_window.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(main_window)
        self.statusbar.setObjectName('statusbar')
        main_window.setStatusBar(self.statusbar)

        self.retranslate_ui(main_window)
        QtCore.QMetaObject.connectSlotsByName(main_window)
Ejemplo n.º 14
0
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(380, 244)
        self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.parentLabel = QtWidgets.QLabel(Dialog)
        self.parentLabel.setObjectName("parentLabel")
        self.horizontalLayout_5.addWidget(self.parentLabel)
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
        self.verticalLayout.addLayout(self.horizontalLayout_5)
        self.collectionTreeWidget = QtWidgets.QTreeWidget(Dialog)
        self.collectionTreeWidget.setObjectName("collectionTreeWidget")
        self.verticalLayout.addWidget(self.collectionTreeWidget)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label = QtWidgets.QLabel(Dialog)
        self.label.setObjectName("label")
        self.horizontalLayout.addWidget(self.label)
        self.nameLineEdit = QtWidgets.QLineEdit(Dialog)
        self.nameLineEdit.setObjectName("nameLineEdit")
        self.horizontalLayout.addWidget(self.nameLineEdit)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label_2 = QtWidgets.QLabel(Dialog)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_3.addWidget(self.label_2)
        self.typeLineEdit = QtWidgets.QLineEdit(Dialog)
        self.typeLineEdit.setObjectName("typeLineEdit")
        self.horizontalLayout_3.addWidget(self.typeLineEdit)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem2)
        self.verticalLayout.addLayout(self.horizontalLayout_3)
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.label_3 = QtWidgets.QLabel(Dialog)
        self.label_3.setObjectName("label_3")
        self.horizontalLayout_4.addWidget(self.label_3)
        self.ownerLineEdit = QtWidgets.QLineEdit(Dialog)
        self.ownerLineEdit.setMaximumSize(QtCore.QSize(40, 16777215))
        self.ownerLineEdit.setObjectName("ownerLineEdit")
        self.horizontalLayout_4.addWidget(self.ownerLineEdit)
        spacerItem3 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem3)
        self.verticalLayout.addLayout(self.horizontalLayout_4)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        spacerItem4 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem4)
        self.acceptButton = QtWidgets.QPushButton(Dialog)
        self.acceptButton.setObjectName("acceptButton")
        self.horizontalLayout_2.addWidget(self.acceptButton)
        self.rejectButton = QtWidgets.QPushButton(Dialog)
        self.rejectButton.setObjectName("rejectButton")
        self.horizontalLayout_2.addWidget(self.rejectButton)
        self.verticalLayout.addLayout(self.horizontalLayout_2)

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
Ejemplo n.º 15
0
        self.retranslateUi(mainWindow)
        QtCore.QMetaObject.connectSlotsByName(mainWindow)

    def retranslateUi(self, mainWindow):
        mainWindow.setWindowTitle(
            QtWidgets.QApplication.translate("mainWindow", "GridCal", None,
                                             -1))
        self.plainTextEdit.setDocumentTitle(
            QtWidgets.QApplication.translate("mainWindow", "Logger", None, -1))
        self.plainTextEdit.setPlaceholderText(
            QtWidgets.QApplication.translate("mainWindow", ">", None, -1))
        self.menuSave.setTitle(
            QtWidgets.QApplication.translate("mainWindow", "File", None, -1))
        self.actionSave.setText(
            QtWidgets.QApplication.translate("mainWindow", "Save", None, -1))
        self.actionSave.setShortcut(
            QtWidgets.QApplication.translate("mainWindow", "Ctrl+S, Ctrl+S",
                                             None, -1))


from .icons_rc import *

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    mainWindow = QtWidgets.QMainWindow()
    ui = Ui_mainWindow()
    ui.setupUi(mainWindow)
    mainWindow.show()
    sys.exit(app.exec_())
Ejemplo n.º 16
0
        extension.setLayout(extensionLayout)

        topLeftLayout = QtWidgets.QHBoxLayout()
        topLeftLayout.addWidget(label)
        topLeftLayout.addWidget(lineEdit)

        leftLayout = QtWidgets.QVBoxLayout()
        leftLayout.addLayout(topLeftLayout)
        leftLayout.addWidget(caseCheckBox)
        leftLayout.addWidget(fromStartCheckBox)
        leftLayout.addStretch(1)

        mainLayout = QtWidgets.QGridLayout()
        mainLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
        mainLayout.addLayout(leftLayout, 0, 0)
        mainLayout.addWidget(buttonBox, 0, 1)
        mainLayout.addWidget(extension, 1, 0, 1, 2)
        self.setLayout(mainLayout)

        self.setWindowTitle("Extension")
        extension.hide()


if __name__ == '__main__':

    import sys

    app = QtWidgets.QApplication(sys.argv)
    dialog = FindDialog()
    sys.exit(dialog.exec_())
Ejemplo n.º 17
0
    def setupUi(self, mainWindow):
        mainWindow.setObjectName("mainWindow")
        mainWindow.resize(516, 327)
        mainWindow.setBaseSize(QtCore.QSize(0, 0))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/Program icon/GridCal_icon.svg"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        mainWindow.setWindowIcon(icon)
        mainWindow.setIconSize(QtCore.QSize(24, 24))
        mainWindow.setDocumentMode(False)
        mainWindow.setTabShape(QtWidgets.QTabWidget.Rounded)
        mainWindow.setUnifiedTitleAndToolBarOnMac(False)
        self.centralwidget = QtWidgets.QWidget(mainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.plainTextEdit = QtWidgets.QPlainTextEdit(self.centralwidget)
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 170, 127))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.PlaceholderText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 170, 127))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive,
                         QtGui.QPalette.PlaceholderText, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled,
                         QtGui.QPalette.PlaceholderText, brush)
        self.plainTextEdit.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("Consolas")
        self.plainTextEdit.setFont(font)
        self.plainTextEdit.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.plainTextEdit.setReadOnly(True)
        self.plainTextEdit.setPlainText("Console")
        self.plainTextEdit.setObjectName("plainTextEdit")
        self.verticalLayout.addWidget(self.plainTextEdit)
        mainWindow.setCentralWidget(self.centralwidget)
        self.menuBar = QtWidgets.QMenuBar(mainWindow)
        self.menuBar.setGeometry(QtCore.QRect(0, 0, 516, 21))
        self.menuBar.setObjectName("menuBar")
        self.menuSave = QtWidgets.QMenu(self.menuBar)
        self.menuSave.setObjectName("menuSave")
        mainWindow.setMenuBar(self.menuBar)
        self.actionSave = QtWidgets.QAction(mainWindow)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/Icons/icons/savec.svg"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionSave.setIcon(icon1)
        self.actionSave.setObjectName("actionSave")
        self.menuSave.addAction(self.actionSave)
        self.menuBar.addAction(self.menuSave.menuAction())

        self.retranslateUi(mainWindow)
        QtCore.QMetaObject.connectSlotsByName(mainWindow)
Ejemplo n.º 18
0
    def __init__(self, parent=None):
        super(FindDialog, self).__init__(parent)

        label = QtWidgets.QLabel("Find &what:")
        lineEdit = QtWidgets.QLineEdit()
        label.setBuddy(lineEdit)

        caseCheckBox = QtWidgets.QCheckBox("Match &case")
        fromStartCheckBox = QtWidgets.QCheckBox("Search from &start")
        fromStartCheckBox.setChecked(True)

        findButton = QtWidgets.QPushButton("&Find")
        findButton.setDefault(True)

        moreButton = QtWidgets.QPushButton("&More")
        moreButton.setCheckable(True)
        moreButton.setAutoDefault(False)

        buttonBox = QtWidgets.QDialogButtonBox(QtCore.Qt.Vertical)
        buttonBox.addButton(findButton, QtWidgets.QDialogButtonBox.ActionRole)
        buttonBox.addButton(moreButton, QtWidgets.QDialogButtonBox.ActionRole)

        extension = QtWidgets.QWidget()

        wholeWordsCheckBox = QtWidgets.QCheckBox("&Whole words")
        backwardCheckBox = QtWidgets.QCheckBox("Search &backward")
        searchSelectionCheckBox = QtWidgets.QCheckBox("Search se&lection")

        moreButton.toggled.connect(extension.setVisible)

        extensionLayout = QtWidgets.QVBoxLayout()
        extensionLayout.setContentsMargins(0, 0, 0, 0)
        extensionLayout.addWidget(wholeWordsCheckBox)
        extensionLayout.addWidget(backwardCheckBox)
        extensionLayout.addWidget(searchSelectionCheckBox)
        extension.setLayout(extensionLayout)

        topLeftLayout = QtWidgets.QHBoxLayout()
        topLeftLayout.addWidget(label)
        topLeftLayout.addWidget(lineEdit)

        leftLayout = QtWidgets.QVBoxLayout()
        leftLayout.addLayout(topLeftLayout)
        leftLayout.addWidget(caseCheckBox)
        leftLayout.addWidget(fromStartCheckBox)
        leftLayout.addStretch(1)

        mainLayout = QtWidgets.QGridLayout()
        mainLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
        mainLayout.addLayout(leftLayout, 0, 0)
        mainLayout.addWidget(buttonBox, 0, 1)
        mainLayout.addWidget(extension, 1, 0, 1, 2)
        self.setLayout(mainLayout)

        self.setWindowTitle("Extension")
        extension.hide()
Ejemplo n.º 19
0
 def create_widgets(self):
     self.le_file = QtWidgets.QLineEdit()
     self.btn_file_browser = QtWidgets.QPushButton("Browse")
Ejemplo n.º 20
0
    def _ui_settings_gqv5(self):
        vbox = QtWidgets.QVBoxLayout()
        self.setSettingsGQv5.setLayout(vbox)

        vbox.addStretch()

        hbox = QtWidgets.QHBoxLayout()
        vbox.addLayout(hbox)

        hbox = QtWidgets.QHBoxLayout()
        vbox.addLayout(hbox)
        hbox.addStretch()
        text_set_tvu_qc = QtWidgets.QLabel("Force TVU QC calculation")
        hbox.addWidget(text_set_tvu_qc)
        text_set_tvu_qc.setFixedHeight(GuiSettings.single_line_height())
        text_set_tvu_qc.setMinimumWidth(80)
        self.set_force_tvu_qc_gqv5 = QtWidgets.QCheckBox(self)
        hbox.addWidget(self.set_force_tvu_qc_gqv5)
        self.set_force_tvu_qc_gqv5.setChecked(True)
        hbox.addStretch()

        vbox.addStretch()

        hbox = QtWidgets.QHBoxLayout()
        vbox.addLayout(hbox)
        # stretch
        hbox.addStretch()
        # mode
        self.set_toggle_mode_gqv5 = QtWidgets.QDial()
        self.set_toggle_mode_gqv5.setNotchesVisible(True)
        self.set_toggle_mode_gqv5.setWrapping(False)
        self.set_toggle_mode_gqv5.setFocusPolicy(QtCore.Qt.StrongFocus)
        self.set_toggle_mode_gqv5.setRange(0, 1)
        self.set_toggle_mode_gqv5.setSliderPosition(1)
        self.set_toggle_mode_gqv5.setFixedSize(QtCore.QSize(40, 40))
        self.set_toggle_mode_gqv5.setInvertedAppearance(False)
        hbox.addWidget(self.set_toggle_mode_gqv5)
        hbox.addStretch()

        hbox = QtWidgets.QHBoxLayout()
        vbox.addLayout(hbox)

        # stretch
        hbox.addStretch()
        # mode
        text_obj = QtWidgets.QLabel("Object detection")
        text_obj.setAlignment(QtCore.Qt.AlignCenter)
        text_obj.setFixedWidth(85)
        hbox.addWidget(text_obj)
        text_cov = QtWidgets.QLabel("Full coverage")
        text_cov.setAlignment(QtCore.Qt.AlignCenter)
        text_cov.setFixedWidth(85)
        hbox.addWidget(text_cov)
        # stretch
        hbox.addStretch()

        vbox.addSpacing(9)

        hbox = QtWidgets.QHBoxLayout()
        vbox.addLayout(hbox)
        hbox.addStretch()
        # histograms
        text_hist = QtWidgets.QLabel("<i>Histograms</i>")
        hbox.addWidget(text_hist)
        hbox.addStretch()

        hbox = QtWidgets.QHBoxLayout()
        vbox.addLayout(hbox)
        hbox.addStretch()
        # histograms: depth
        text_hist_depth = QtWidgets.QLabel("depth:")
        hbox.addWidget(text_hist_depth)
        text_hist_depth.setFixedHeight(GuiSettings.single_line_height())
        self.hist_depth_v5 = QtWidgets.QCheckBox(self)
        hbox.addWidget(self.hist_depth_v5)
        self.hist_depth_v5.setChecked(True)
        # histograms: density
        text_hist_density = QtWidgets.QLabel(" density:")
        hbox.addWidget(text_hist_density)
        text_hist_density.setFixedHeight(GuiSettings.single_line_height())
        self.hist_density_v5 = QtWidgets.QCheckBox(self)
        hbox.addWidget(self.hist_density_v5)
        self.hist_density_v5.setChecked(True)
        # histograms: tvu qc
        text_hist_tvu_qc = QtWidgets.QLabel(" TVU QC:")
        hbox.addWidget(text_hist_tvu_qc)
        text_hist_tvu_qc.setFixedHeight(GuiSettings.single_line_height())
        self.hist_tvu_qc_v5 = QtWidgets.QCheckBox(self)
        hbox.addWidget(self.hist_tvu_qc_v5)
        self.hist_tvu_qc_v5.setChecked(True)
        # histograms: pct res
        text_hist_pct_res = QtWidgets.QLabel(" % resolution:")
        hbox.addWidget(text_hist_pct_res)
        text_hist_pct_res.setFixedHeight(GuiSettings.single_line_height())
        self.hist_pct_res_v5 = QtWidgets.QCheckBox(self)
        hbox.addWidget(self.hist_pct_res_v5)
        self.hist_pct_res_v5.setChecked(True)
        hbox.addStretch()

        vbox.addSpacing(9)

        hbox = QtWidgets.QHBoxLayout()
        vbox.addLayout(hbox)
        hbox.addStretch()
        # plot vs
        text_plot_vs = QtWidgets.QLabel("<i>Plot depth vs.</i>")
        hbox.addWidget(text_plot_vs)
        hbox.addStretch()

        hbox = QtWidgets.QHBoxLayout()
        vbox.addLayout(hbox)
        hbox.addStretch()
        # depth vs density
        text_depth_vs_density = QtWidgets.QLabel("density:")
        hbox.addWidget(text_depth_vs_density)
        text_depth_vs_density.setFixedHeight(GuiSettings.single_line_height())
        self.depth_vs_density_v5 = QtWidgets.QCheckBox(self)
        hbox.addWidget(self.depth_vs_density_v5)
        self.depth_vs_density_v5.setChecked(False)
        # depth vs tvu qc
        text_depth_vs_tvu_qc = QtWidgets.QLabel(" TVU QC:")
        hbox.addWidget(text_depth_vs_tvu_qc)
        text_depth_vs_tvu_qc.setFixedHeight(GuiSettings.single_line_height())
        self.depth_vs_tvu_qc_v5 = QtWidgets.QCheckBox(self)
        hbox.addWidget(self.depth_vs_tvu_qc_v5)
        self.depth_vs_tvu_qc_v5.setChecked(False)
        hbox.addStretch()

        vbox.addStretch()
Ejemplo n.º 21
0
def main():
    import sys
    app = QtWidgets.QApplication(sys.argv)
    ex = FileBrowser()
    ex.show()
    sys.exit(app.exec_())
    
    def run(self):
        while(1):
            self.app.emit(QtCore.SIGNAL("UPDATE(int)"),self.iCounter)
            
            # WARNING : argument's type is not checked and no error message is generated if wrong !!!
#             self.app.emit(QtCore.SIGNAL("UPDATE(int)"),str(self.iCounter)) #DOES NOT WORK : argument's type is wrong
#             self.app.emit(QtCore.SIGNAL("UPDATE(str)"),self.iCounter) #DOES NOT WORK : func's prototype is wrong
                        
            self.iCounter += 1 
                     
            time.sleep(self.fDelay)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    wdFrm = QtWidgets.QFrame()
    layout = QtWidgets.QVBoxLayout()
    wdFrm.setLayout(layout)
    
    #Create two labels that will display a counter
    wdCounter = QtWidgets.QLineEdit("0")
    layout.addWidget(wdCounter)


    #Create a function for widget updating
    def UpdateCounter(iCounter):
        wdCounter.setText(str(iCounter))

    app.connect(QtCore.SIGNAL("UPDATE(int)"),UpdateCounter)
        
        
Ejemplo n.º 23
0
    def __init__(
        self,
        mode: Text,
        labels_filename: Text,
        labels: Optional[Labels] = None,
        skeleton: Optional["Skeleton"] = None,
        *args,
        **kwargs,
    ):
        super(LearningDialog, self).__init__()

        if labels is None:
            labels = Labels.load_file(labels_filename)

        if skeleton is None and labels.skeletons:
            skeleton = labels.skeletons[0]

        self.mode = mode
        self.labels_filename = labels_filename
        self.labels = labels
        self.skeleton = skeleton

        self._frame_selection = None

        self.current_pipeline = ""

        self.tabs = dict()
        self.shown_tab_names = []

        self._cfg_getter = configs.TrainingConfigsGetter.make_from_labels_filename(
            labels_filename=self.labels_filename)

        # Layout for buttons
        buttons = QtWidgets.QDialogButtonBox()
        self.cancel_button = buttons.addButton(
            QtWidgets.QDialogButtonBox.Cancel)
        self.save_button = buttons.addButton(
            "Save configuration files...",
            QtWidgets.QDialogButtonBox.ApplyRole)
        self.run_button = buttons.addButton(
            "Run", QtWidgets.QDialogButtonBox.AcceptRole)

        buttons_layout = QtWidgets.QHBoxLayout()
        buttons_layout.addWidget(buttons, alignment=QtCore.Qt.AlignTop)

        buttons_layout_widget = QtWidgets.QWidget()
        buttons_layout_widget.setLayout(buttons_layout)

        self.pipeline_form_widget = TrainingPipelineWidget(mode=mode,
                                                           skeleton=skeleton)
        if mode == "training":
            tab_label = "Training Pipeline"
        elif mode == "inference":
            # self.pipeline_form_widget = InferencePipelineWidget()
            tab_label = "Inference Pipeline"
        else:
            raise ValueError(f"Invalid LearningDialog mode: {mode}")

        self.tab_widget = QtWidgets.QTabWidget()

        self.tab_widget.addTab(self.pipeline_form_widget, tab_label)
        self.make_tabs()

        # Layout for entire dialog
        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(self.tab_widget)
        layout.addWidget(buttons_layout_widget)

        self.setLayout(layout)

        # Default to most recently trained pipeline (if there is one)
        self.set_pipeline_from_most_recent()

        # Connect functions to update pipeline tabs when pipeline changes
        self.pipeline_form_widget.updatePipeline.connect(self.set_pipeline)
        self.pipeline_form_widget.emitPipeline()

        self.connect_signals()

        # Connect actions for buttons
        buttons.accepted.connect(self.run)
        buttons.rejected.connect(self.reject)
        buttons.clicked.connect(self.on_button_click)

        # Connect button for previewing the training data
        if "_view_datagen" in self.pipeline_form_widget.buttons:
            self.pipeline_form_widget.buttons["_view_datagen"].clicked.connect(
                self.view_datagen)
Ejemplo n.º 24
0
    def __init__(self, parent):

        QtWidgets.QDialog.__init__(self, parent)
        self.setWindowTitle("Split in chunks")

        self.gridX = 2
        self.gridY = 2
        self.gridWidth = 198
        self.gridHeight = 198

        self.spinX = QtWidgets.QSpinBox()
        self.spinX.setMinimum(1)
        self.spinX.setValue(2)
        self.spinX.setMaximum(20)
        self.spinX.setFixedSize(75, 25)
        self.spinY = QtWidgets.QSpinBox()
        self.spinY.setMinimum(1)
        self.spinY.setValue(2)
        self.spinY.setMaximum(20)
        self.spinY.setFixedSize(75, 25)

        self.chkMesh = QtWidgets.QCheckBox("Build Mesh")
        self.chkMesh.setToolTip("Generates mesh for each cell in grid")

        self.meshBox = QtWidgets.QComboBox()
        for element in MESH.keys():
            self.meshBox.addItem(element)

        self.chkDense = QtWidgets.QCheckBox("Build Dense Cloud")
        self.chkDense.setWhatsThis("Builds dense cloud for each cell in grid")

        self.denseBox = QtWidgets.QComboBox()
        for element in DENSE.keys():
            self.denseBox.addItem(element)

        self.chkMerge = QtWidgets.QCheckBox("Merge Back")
        self.chkMerge.setToolTip(
            "Merges back the processing products formed in the individual cells"
        )

        self.chkSave = QtWidgets.QCheckBox("Autosave")
        self.chkSave.setToolTip("Autosaves the project after each operation")

        self.txtOvp = QtWidgets.QLabel()
        self.txtOvp.setText("Overlap (%):")

        self.edtOvp = QtWidgets.QLineEdit()
        self.edtOvp.setPlaceholderText("0")
        self.edtOvp.setFixedSize(50, 25)

        self.btnQuit = QtWidgets.QPushButton("Close")
        self.btnQuit.setFixedSize(90, 50)

        self.btnP1 = QtWidgets.QPushButton("Split")
        self.btnP1.setFixedSize(90, 50)

        self.grid = QtWidgets.QLabel(" ")
        self.grid.resize(self.gridWidth, self.gridHeight)
        tempPixmap = QtGui.QPixmap(self.gridWidth, self.gridHeight)
        tempImage = tempPixmap.toImage()

        for y in range(self.gridHeight):
            for x in range(self.gridWidth):

                if not (x and y) or (x == self.gridWidth -
                                     1) or (y == self.gridHeight - 1):
                    tempImage.setPixel(x, y, QtGui.qRgb(0, 0, 0))
                elif (x == self.gridWidth / 2) or (y == self.gridHeight / 2):
                    tempImage.setPixel(x, y, QtGui.qRgb(0, 0, 0))

                else:
                    tempImage.setPixel(x, y, QtGui.qRgb(255, 255, 255))

        tempPixmap = tempPixmap.fromImage(tempImage)
        self.grid.setPixmap(tempPixmap)
        self.grid.show()

        layout = QtWidgets.QGridLayout()  # creating layout
        layout.addWidget(self.spinX, 1, 0)
        layout.addWidget(self.spinY, 1, 1, QtCore.Qt.AlignRight)

        layout.addWidget(self.chkDense, 0, 2)
        layout.addWidget(self.chkMesh, 0, 3)
        layout.addWidget(self.chkMerge, 0, 4)

        layout.addWidget(self.meshBox, 1, 3, QtCore.Qt.AlignTop)
        layout.addWidget(self.denseBox, 1, 2, QtCore.Qt.AlignTop)

        layout.addWidget(self.chkSave, 3, 2)
        layout.addWidget(self.btnP1, 3, 3)
        layout.addWidget(self.btnQuit, 3, 4)

        layout.addWidget(self.txtOvp, 0, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self.edtOvp, 0, 1, QtCore.Qt.AlignLeft)

        layout.addWidget(self.grid, 2, 0, 2, 2)
        # layout.setAlignment(QtCore.Qt.AlignTop)
        self.setLayout(layout)

        proc_split = lambda: self.splitChunks()

        self.spinX.valueChanged.connect(self.updateGrid)
        self.spinY.valueChanged.connect(self.updateGrid)

        QtCore.QObject.connect(self.btnP1, QtCore.SIGNAL("clicked()"),
                               proc_split)
        QtCore.QObject.connect(self.btnQuit, QtCore.SIGNAL("clicked()"), self,
                               QtCore.SLOT("reject()"))

        self.exec()
Ejemplo n.º 25
0
 def _layout_widget(layout):
     widget = QtWidgets.QWidget()
     widget.setLayout(layout)
     return widget
Ejemplo n.º 26
0
    def __init__(self, parent: QtWidgets.QWidget):
        super(InfoOverlay, self).__init__(parent)

        # --- These will be replaced from the ui file ---
        self.overlay_grp = QtWidgets.QWidget()
        self.top_space_widget = QtWidgets.QWidget()
        self.left_space_widget = QtWidgets.QWidget()
        self.btn_box = QtWidgets.QWidget()
        self.text_label = QtWidgets.QLabel()

        SetupWidget.from_ui_file(self, Resource.ui_paths['knecht_overlay'])

        # --- Init Attributes ---
        self.parent = parent
        self.queue = list()
        self.btn_list = list()
        self.message_active = False

        # -- Prepare Message Browser --
        self.msg_browser = QtWidgets.QTextBrowser()
        self.anchors = dict()
        self.msg_tab = QtWidgets.QTabWidget()
        self.tab_widget_anim = TabBgrAnimation(
            self)  # Animate MainWindow TabWidget Tab background color
        self.use_msg_browser = False

        # --- Get header height ---
        self.header_height = 0
        if hasattr(parent, 'header'):
            self.header_height = parent.header().height()

        # --- Setup Overlay Attributes ---
        self.style = 'background: rgba(' + f'{self.bg_color[0]}, {self.bg_color[1]}, {self.bg_color[2]},'\
                     + '{0}); color: rgba(233, 233, 233, {1});'
        self.bg_anim = BgrAnimation(
            self.overlay_grp,
            self.bg_color,
            additional_stylesheet=
            f'color: rgba(233, 233, 233, {self.txt_opacity});')

        self.restore_visibility()
        self.overlay_grp.installEventFilter(self)
        self.animation = QPropertyAnimation(self.overlay_grp, b"geometry")
        self.text_label.setOpenExternalLinks(True)

        # --- Init Timers ---
        self.msg_timer = QTimer()
        self.msg_timer.setSingleShot(True)
        self.msg_timer.timeout.connect(self._next_entry)

        self.mouse_leave_timer = QTimer()
        self.mouse_leave_timer.setSingleShot(True)
        self.mouse_leave_timer.setInterval(150)
        self.mouse_leave_timer.timeout.connect(self.restore_visibility)

        self.click_timer = QTimer()
        self.click_timer.setSingleShot(True)

        # --- Install parent resize wrapper ---
        self._org_parent_resize_event = self.parent.resizeEvent
        self.parent.resizeEvent = self._parent_resize_wrapper

        # --- Install Show Event wrapper ---
        # On document tab change, parent widget will not trigger resize event
        # but maybe was resized while hidden. This wrapper will make sure we adapt
        # size on tab change.
        self._org_parent_show_event = self.parent.showEvent
        self.parent.showEvent = self._parent_show_wrapper

        # Manually trigger an initial resize event
        QTimer.singleShot(1, self._adapt_size)

        self.hide_all()
    def setupUi(self, DockWidget):
        DockWidget.setObjectName("DockWidget")
        DockWidget.resize(578, 515)
        self.dockWidgetContents = QtWidgets.QWidget()
        self.dockWidgetContents.setObjectName("dockWidgetContents")
        self.gridLayout_5 = QtWidgets.QGridLayout(self.dockWidgetContents)
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.label_5 = QtWidgets.QLabel(self.dockWidgetContents)
        font = QtGui.QFont()
        font.setWeight(75)
        font.setBold(True)
        self.label_5.setFont(font)
        self.label_5.setObjectName("label_5")
        self.gridLayout_5.addWidget(self.label_5, 0, 0, 1, 1)
        self.label_6 = QtWidgets.QLabel(self.dockWidgetContents)
        font = QtGui.QFont()
        font.setWeight(75)
        font.setBold(True)
        self.label_6.setFont(font)
        self.label_6.setObjectName("label_6")
        self.gridLayout_5.addWidget(self.label_6, 0, 1, 1, 1)
        self.tabWidgetNorth = QtWidgets.QTabWidget(self.dockWidgetContents)
        self.tabWidgetNorth.setDocumentMode(False)
        self.tabWidgetNorth.setTabsClosable(True)
        self.tabWidgetNorth.setObjectName("tabWidgetNorth")
        self.tab_7 = QtWidgets.QWidget()
        self.tab_7.setObjectName("tab_7")
        self.gridLayout_8 = QtWidgets.QGridLayout(self.tab_7)
        self.gridLayout_8.setObjectName("gridLayout_8")
        self.label_52 = QtWidgets.QLabel(self.tab_7)
        self.label_52.setObjectName("label_52")
        self.gridLayout_8.addWidget(self.label_52, 0, 0, 1, 1)
        self.tabWidgetNorth.addTab(self.tab_7, "")
        self.tab_8 = QtWidgets.QWidget()
        self.tab_8.setObjectName("tab_8")
        self.gridLayout_4 = QtWidgets.QGridLayout(self.tab_8)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.label_48 = QtWidgets.QLabel(self.tab_8)
        self.label_48.setObjectName("label_48")
        self.gridLayout_4.addWidget(self.label_48, 0, 0, 1, 1)
        self.tabWidgetNorth.addTab(self.tab_8, "")
        self.gridLayout_5.addWidget(self.tabWidgetNorth, 1, 0, 1, 1)
        self.tabWidgetNorth_2 = QtWidgets.QTabWidget(self.dockWidgetContents)
        self.tabWidgetNorth_2.setEnabled(False)
        self.tabWidgetNorth_2.setDocumentMode(False)
        self.tabWidgetNorth_2.setTabsClosable(True)
        self.tabWidgetNorth_2.setObjectName("tabWidgetNorth_2")
        self.tab_9 = QtWidgets.QWidget()
        self.tab_9.setObjectName("tab_9")
        self.gridLayout_10 = QtWidgets.QGridLayout(self.tab_9)
        self.gridLayout_10.setObjectName("gridLayout_10")
        self.label_53 = QtWidgets.QLabel(self.tab_9)
        self.label_53.setObjectName("label_53")
        self.gridLayout_10.addWidget(self.label_53, 0, 0, 1, 1)
        self.tabWidgetNorth_2.addTab(self.tab_9, "")
        self.tab_10 = QtWidgets.QWidget()
        self.tab_10.setObjectName("tab_10")
        self.gridLayout_19 = QtWidgets.QGridLayout(self.tab_10)
        self.gridLayout_19.setObjectName("gridLayout_19")
        self.label_49 = QtWidgets.QLabel(self.tab_10)
        self.label_49.setObjectName("label_49")
        self.gridLayout_19.addWidget(self.label_49, 0, 0, 1, 1)
        self.tabWidgetNorth_2.addTab(self.tab_10, "")
        self.gridLayout_5.addWidget(self.tabWidgetNorth_2, 1, 1, 1, 1)
        self.tabWidgetWest = QtWidgets.QTabWidget(self.dockWidgetContents)
        self.tabWidgetWest.setTabPosition(QtWidgets.QTabWidget.West)
        self.tabWidgetWest.setObjectName("tabWidgetWest")
        self.tab_5 = QtWidgets.QWidget()
        self.tab_5.setObjectName("tab_5")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.tab_5)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.label_39 = QtWidgets.QLabel(self.tab_5)
        self.label_39.setObjectName("label_39")
        self.gridLayout_3.addWidget(self.label_39, 0, 0, 1, 1)
        self.tabWidgetWest.addTab(self.tab_5, "")
        self.tab_6 = QtWidgets.QWidget()
        self.tab_6.setObjectName("tab_6")
        self.gridLayout_9 = QtWidgets.QGridLayout(self.tab_6)
        self.gridLayout_9.setObjectName("gridLayout_9")
        self.label_54 = QtWidgets.QLabel(self.tab_6)
        self.label_54.setObjectName("label_54")
        self.gridLayout_9.addWidget(self.label_54, 0, 0, 1, 1)
        self.tabWidgetWest.addTab(self.tab_6, "")
        self.gridLayout_5.addWidget(self.tabWidgetWest, 2, 0, 1, 1)
        self.tabWidgetWest_2 = QtWidgets.QTabWidget(self.dockWidgetContents)
        self.tabWidgetWest_2.setEnabled(False)
        self.tabWidgetWest_2.setTabPosition(QtWidgets.QTabWidget.West)
        self.tabWidgetWest_2.setObjectName("tabWidgetWest_2")
        self.tab_11 = QtWidgets.QWidget()
        self.tab_11.setObjectName("tab_11")
        self.gridLayout_20 = QtWidgets.QGridLayout(self.tab_11)
        self.gridLayout_20.setObjectName("gridLayout_20")
        self.label_50 = QtWidgets.QLabel(self.tab_11)
        self.label_50.setObjectName("label_50")
        self.gridLayout_20.addWidget(self.label_50, 0, 0, 1, 1)
        self.tabWidgetWest_2.addTab(self.tab_11, "")
        self.tab_12 = QtWidgets.QWidget()
        self.tab_12.setObjectName("tab_12")
        self.gridLayout_21 = QtWidgets.QGridLayout(self.tab_12)
        self.gridLayout_21.setObjectName("gridLayout_21")
        self.label_72 = QtWidgets.QLabel(self.tab_12)
        self.label_72.setObjectName("label_72")
        self.gridLayout_21.addWidget(self.label_72, 0, 0, 1, 1)
        self.tabWidgetWest_2.addTab(self.tab_12, "")
        self.gridLayout_5.addWidget(self.tabWidgetWest_2, 2, 1, 1, 1)
        self.tabWidgetEast = QtWidgets.QTabWidget(self.dockWidgetContents)
        self.tabWidgetEast.setTabPosition(QtWidgets.QTabWidget.East)
        self.tabWidgetEast.setObjectName("tabWidgetEast")
        self.tab_3 = QtWidgets.QWidget()
        self.tab_3.setObjectName("tab_3")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.tab_3)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.label_38 = QtWidgets.QLabel(self.tab_3)
        self.label_38.setObjectName("label_38")
        self.gridLayout_2.addWidget(self.label_38, 0, 0, 1, 1)
        self.tabWidgetEast.addTab(self.tab_3, "")
        self.tab_4 = QtWidgets.QWidget()
        self.tab_4.setObjectName("tab_4")
        self.gridLayout_11 = QtWidgets.QGridLayout(self.tab_4)
        self.gridLayout_11.setObjectName("gridLayout_11")
        self.label_55 = QtWidgets.QLabel(self.tab_4)
        self.label_55.setObjectName("label_55")
        self.gridLayout_11.addWidget(self.label_55, 0, 0, 1, 1)
        self.tabWidgetEast.addTab(self.tab_4, "")
        self.gridLayout_5.addWidget(self.tabWidgetEast, 3, 0, 1, 1)
        self.tabWidgetEast_2 = QtWidgets.QTabWidget(self.dockWidgetContents)
        self.tabWidgetEast_2.setEnabled(False)
        self.tabWidgetEast_2.setTabPosition(QtWidgets.QTabWidget.East)
        self.tabWidgetEast_2.setObjectName("tabWidgetEast_2")
        self.tab_13 = QtWidgets.QWidget()
        self.tab_13.setObjectName("tab_13")
        self.gridLayout_22 = QtWidgets.QGridLayout(self.tab_13)
        self.gridLayout_22.setObjectName("gridLayout_22")
        self.label_51 = QtWidgets.QLabel(self.tab_13)
        self.label_51.setObjectName("label_51")
        self.gridLayout_22.addWidget(self.label_51, 0, 0, 1, 1)
        self.tabWidgetEast_2.addTab(self.tab_13, "")
        self.tab_14 = QtWidgets.QWidget()
        self.tab_14.setObjectName("tab_14")
        self.gridLayout_30 = QtWidgets.QGridLayout(self.tab_14)
        self.gridLayout_30.setObjectName("gridLayout_30")
        self.label_73 = QtWidgets.QLabel(self.tab_14)
        self.label_73.setObjectName("label_73")
        self.gridLayout_30.addWidget(self.label_73, 0, 0, 1, 1)
        self.tabWidgetEast_2.addTab(self.tab_14, "")
        self.gridLayout_5.addWidget(self.tabWidgetEast_2, 3, 1, 1, 1)
        self.tabWidgetSouth = QtWidgets.QTabWidget(self.dockWidgetContents)
        self.tabWidgetSouth.setTabPosition(QtWidgets.QTabWidget.South)
        self.tabWidgetSouth.setTabsClosable(True)
        self.tabWidgetSouth.setObjectName("tabWidgetSouth")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.gridLayout = QtWidgets.QGridLayout(self.tab)
        self.gridLayout.setObjectName("gridLayout")
        self.label_34 = QtWidgets.QLabel(self.tab)
        self.label_34.setObjectName("label_34")
        self.gridLayout.addWidget(self.label_34, 0, 0, 1, 1)
        self.tabWidgetSouth.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.gridLayout_18 = QtWidgets.QGridLayout(self.tab_2)
        self.gridLayout_18.setObjectName("gridLayout_18")
        self.label_62 = QtWidgets.QLabel(self.tab_2)
        self.label_62.setObjectName("label_62")
        self.gridLayout_18.addWidget(self.label_62, 0, 0, 1, 1)
        self.tabWidgetSouth.addTab(self.tab_2, "")
        self.gridLayout_5.addWidget(self.tabWidgetSouth, 4, 0, 1, 1)
        self.tabWidgetSouth_2 = QtWidgets.QTabWidget(self.dockWidgetContents)
        self.tabWidgetSouth_2.setEnabled(False)
        self.tabWidgetSouth_2.setTabPosition(QtWidgets.QTabWidget.South)
        self.tabWidgetSouth_2.setTabsClosable(True)
        self.tabWidgetSouth_2.setObjectName("tabWidgetSouth_2")
        self.tab_15 = QtWidgets.QWidget()
        self.tab_15.setObjectName("tab_15")
        self.gridLayout_31 = QtWidgets.QGridLayout(self.tab_15)
        self.gridLayout_31.setObjectName("gridLayout_31")
        self.label_35 = QtWidgets.QLabel(self.tab_15)
        self.label_35.setObjectName("label_35")
        self.gridLayout_31.addWidget(self.label_35, 0, 0, 1, 1)
        self.tabWidgetSouth_2.addTab(self.tab_15, "")
        self.tab_16 = QtWidgets.QWidget()
        self.tab_16.setObjectName("tab_16")
        self.gridLayout_32 = QtWidgets.QGridLayout(self.tab_16)
        self.gridLayout_32.setObjectName("gridLayout_32")
        self.label_74 = QtWidgets.QLabel(self.tab_16)
        self.label_74.setObjectName("label_74")
        self.gridLayout_32.addWidget(self.label_74, 0, 0, 1, 1)
        self.tabWidgetSouth_2.addTab(self.tab_16, "")
        self.gridLayout_5.addWidget(self.tabWidgetSouth_2, 4, 1, 1, 1)
        DockWidget.setWidget(self.dockWidgetContents)

        self.retranslateUi(DockWidget)
        self.tabWidgetNorth.setCurrentIndex(0)
        self.tabWidgetNorth_2.setCurrentIndex(1)
        self.tabWidgetWest.setCurrentIndex(0)
        self.tabWidgetWest_2.setCurrentIndex(0)
        self.tabWidgetEast.setCurrentIndex(0)
        self.tabWidgetEast_2.setCurrentIndex(0)
        self.tabWidgetSouth.setCurrentIndex(0)
        self.tabWidgetSouth_2.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(DockWidget)
Ejemplo n.º 28
0
    def import_skin(self,
                    file_path=None,
                    world_space=False,
                    create_missing_infs=True,
                    prompt=True):
        """
        Imports skin weights from a file.

        Args:
            file_path(string): An absolute path to save weights to.
            world_space(bool): False=loads by point order, True=loads by world positions
            create_missing_infs(bool): Create any missing influences so the skin can still import.
            prompt(bool): Asks for user confirmation if enabled.
        """
        if not self.is_valid():
            raise RuntimeError("Need to pick an object first.")

        if prompt:
            msg_box = QtWidgets.QMessageBox(
                QtWidgets.QMessageBox.Warning, "Undos will be lost",
                "The tool's undo stack will reset and be lost.\n"
                "Would you like to continue?")

            msg_box.addButton(QtWidgets.QMessageBox.Cancel)
            msg_box.addButton(QtWidgets.QMessageBox.Ok)
            msg_box.setDefaultButton(QtWidgets.QMessageBox.Cancel)

            if msg_box.exec_() == QtWidgets.QMessageBox.Cancel:
                return False

        if file_path is None:
            file_path = self._launch_file_picker(1, "Import skin")
            if not file_path:
                return False

        vert_filter = utils.extract_indexes(utils.get_vert_indexes(self.name))

        # Must have an existing skin cluster if we're only applying on some vertexes.
        if vert_filter:
            if not self.has_valid_skin():
                raise RuntimeError(
                    "A skinCluster must already exist when importing weights onto vertexes"
                )

        with open(file_path, "rb") as f:
            skin_data = cPickle.loads(f.read())

            # Keys need to be converted to ints.
            skin_data["verts"] = {
                int(key): value
                for key, value in skin_data["verts"].items()
            }

        # Rename influences to match scene.
        with status_progress_bar.StatusProgressBar(
                "Matching influences", len(skin_data["verts"])) as pbar:
            infs = {}

            for index in skin_data["verts"]:
                for old_name in list(skin_data["verts"][index]["weights"]):
                    if old_name not in infs:
                        infs[old_name] = self._find_influence_by_name(
                            old_name) or old_name.split("|")[-1]
                    skin_data["verts"][index]["weights"][infs[
                        old_name]] = skin_data["verts"][index]["weights"].pop(
                            old_name)

                if pbar.was_cancelled():
                    raise RuntimeError("User cancelled")

                pbar.next()

        if world_space:
            closest_vertexes = self._map_to_closest_vertexes(
                skin_data["verts"], vert_filter)

            weights_data = {
                source_index: skin_data["verts"][file_index]
                for source_index, file_index in closest_vertexes.items()
            }
        else:
            # Bail if vert count with file and object don't match (import via point order only)
            file_vert_count = skin_data["skin_cluster"]["vert_count"]
            obj_vert_count = cmds.polyEvaluate(self.name, vertex=True)
            if file_vert_count != obj_vert_count:
                raise RuntimeError(
                    "Vert count doesn't match. (Object: {}, File: {})".format(
                        obj_vert_count, file_vert_count))
            weights_data = skin_data["verts"]

        # Get influences from file
        skin_jnts = []

        for inf_id, inf_data in skin_data["influences"].items():
            inf_name = inf_data["name"]
            inf_short_name = inf_name.split("|")[-1]
            inf = self._find_influence_by_name(inf_name)

            if inf is None:
                if not create_missing_infs:
                    raise RuntimeError(
                        "Missing influence '{}'".format(inf_short_name))

                # Create new joint if influence is missing
                inf = cmds.createNode("joint",
                                      name=inf_short_name,
                                      skipSelect=True)
                cmds.xform(inf, ws=True, m=inf_data["world_matrix"])
                OpenMaya.MGlobal.displayWarning(
                    "Created '{}' because it was missing.".format(
                        inf_short_name))

            skin_jnts.append(inf)

        if vert_filter:
            # Add any missing influences onto existing skin so that we can maintain weights.
            infs = self.get_all_infs()

            for inf in skin_jnts:
                if inf not in infs:
                    cmds.skinCluster(self.skin_cluster,
                                     e=True,
                                     lockWeights=True,
                                     weight=0,
                                     addInfluence=inf)
                    cmds.setAttr("{}.lockInfluenceWeights".format(inf), False)
        else:
            # Create new skin cluster with influences.
            if self.skin_cluster and cmds.objExists(self.skin_cluster):
                cmds.delete(self.skin_cluster)

            self.skin_cluster = utils.build_skin_cluster(
                self.name,
                skin_jnts,
                max_infs=skin_data["skin_cluster"]["max_influences"],
                skin_method=skin_data["skin_cluster"]["skinning_method"],
                dqs_support_non_rigid=skin_data["skin_cluster"]
                ["dqs_support_non_rigid"],
                name=skin_data["skin_cluster"]["name"])

        # Define all verts to apply weights to.
        vert_indexes = [
            vert_index for vert_index in weights_data
            if not vert_filter or vert_index in vert_filter
        ]

        self.skin_data.data = weights_data
        self.collect_influence_colors()
        self.infs = self.get_all_infs()
        self.apply_current_skin_weights(vert_indexes, display_progress=True)

        return True
Ejemplo n.º 29
0
    def openValkka(self):
        self.mvision_process.go()

        if self.mvision_master_process:
            self.mvision_master_process.go()

        self.livethread = LiveThread(  # starts live stream services (using live555)
            name="live_thread",
            verbose=False)

        self.filethread = FileThread(name="file_thread", verbose=False)

        self.openglthread = OpenGLThread(  # starts frame presenting services
            name="mythread",
            n_720p=10,
            n_1080p=10,
            n_1440p=10,
            n_4K=10,
            verbose=False,
            msbuftime=100,
            affinity=-1)

        # this filterchain creates a shared memory server
        self.chain = ShmemFilterchain1(  # decoding and branching the stream happens here
            openglthread=self.openglthread,
            slot=1,
            shmem_name=self.shmem_name,
            shmem_image_dimensions=self.shmem_image_dimensions,
            shmem_image_interval=self.shmem_image_interval,
            shmem_ringbuffer_size=self.shmem_ringbuffer_size)

        shmem_name, n_buffer, shmem_image_dimensions = self.chain.getShmemPars(
        )

        self.video = QtWidgets.QWidget(self.video_area)

        if hasattr(self.mvision_process, "analyzer_video_widget_class"):
            # the machine vision class may declare what video widget it wants to use to define the machine vision parameters (line crossing, zone intrusion, etc.)
            self.analyzer_widget = AnalyzerWidget(
                parent=self.video_area,
                analyzer_video_widget_class=self.mvision_process.
                analyzer_video_widget_class)
        else:
            self.analyzer_widget = AnalyzerWidget(parent=self.video_area)

        self.mvision_process.connectAnalyzerWidget(self.analyzer_widget)
        self.analyzer_widget.activate()

        self.win_id = int(self.video.winId())

        self.video_lay.addWidget(self.video, 0, 0)
        self.video_lay.addWidget(self.analyzer_widget, 0, 1)
        self.token = self.openglthread.connect(slot=1, window_id=self.win_id)

        self.chain.decodingOn()  # tell the decoding thread to start its job

        self.mvision_process.activate(
            n_buffer=self.shmem_ringbuffer_size,
            image_dimensions=self.shmem_image_dimensions,
            shmem_name=self.shmem_name)

        if self.mvision_master_process:
            self.mvision_process.setMasterProcess(self.mvision_master_process)
Ejemplo n.º 30
0
 def Activated(self):
     baseWidget = QtWidgets.QWidget()
     baseWidget.setWindowTitle("Filter Holder options")
     panel = FilterStage_TaskPanel(baseWidget)
     FreeCADGui.Control.showDialog(panel)