예제 #1
0
    def __init__(self):
        super(TopologyDetectionWin, self).__init__()

        self.show()
        pos = self.pos()

        loadUi(UI_PATH, self)

        self.move(pos)
        self.setWindowTitle(u"模型拓扑对比")

        # 避免出现重复的窗口
        object_name = "TopologyDetectionWin"
        if pm.window(object_name, ex=1):
            pm.deleteUI(object_name)
        self.setObjectName(object_name)

        #默认值
        self.lineEdit_pointNum.setReadOnly(True)
        self.lineEdit_edgeNum.setReadOnly(True)
        self.lineEdit_faceNum.setReadOnly(True)
        self.lineEdit_time.setReadOnly(True)
        self.lineEdit_result.setReadOnly(True)
        self.textEdit_transInfor1.setReadOnly(True)
        self.textEdit_transInfor2.setReadOnly(True)

        # 滚动条
        self.ver_scr1 = self.textEdit_transInfor1.verticalScrollBar()
        self.ver_scr2 = self.textEdit_transInfor2.verticalScrollBar()

        #消息响应
        self.btn_detect.clicked.connect(self.detect_topology)

        self.ver_scr1.valueChanged.connect(self.move_scrollbar)
        self.ver_scr2.valueChanged.connect(self.move_scrollbar)
    def __init__(self, cam, widget):
        super(ViewportCaptureCameraSettingItem, self).__init__()
        ui_file = os.path.join(DIR, "ui", "item.ui")
        loadUi(ui_file, self)

        self.widget = widget
        self.cam = cam
        self.loadCamData()

        self.setting = cam.setting[self.cam.name()]

        # NOTE 添加属性调整触发修改
        self.TX_SP.valueChanged.connect(self.txValueChange)
        self.TY_SP.valueChanged.connect(self.tyValueChange)
        self.TZ_SP.valueChanged.connect(self.tzValueChange)
        self.RX_SP.valueChanged.connect(self.rxValueChange)
        self.RY_SP.valueChanged.connect(self.ryValueChange)
        self.RZ_SP.valueChanged.connect(self.rzValueChange)
        self.Orthographic_CB.stateChanged.connect(self.orthographicState)

        # NOTE 添加按钮点击事件
        self.Cam_BTN.clicked.connect(lambda: pm.select(cam))
        self.Preview_BTN.clicked.connect(lambda: pm.lookThru(cam))
        self.Delete_BTN.clicked.connect(self.deleteLater)
        self.Save_BTN.clicked.connect(self.loadCamData)
예제 #3
0
    def __init__(self):
        super(TodoItem, self).__init__()

        # NOTE disable auto load feature
        dumper = self.state("dumper")
        dumper.set_auto_load(False)
        self.state.text = "a"
        self.state.completed = False
        self.state.visible = False
        self.state.text_style = "none"
        self.state.text_color = "black"

        # TODO uifile loading custom module not compatible in DCC
        ui_file = os.path.join(__file__, "..", "item.ui")
        loadUi(ui_file, self)
        # self.setupUi(self)

        self.ItemText.bind(self)
        self.ItemText.setText(lambda: self.state.text)
        self.ItemText.setStyleSheet(
            lambda: "color:%s;text-decoration:%s"
            % (self.state.text_color, self.state.text_style)
        )
        self.ItemDelete.setVisible(lambda: self.state.visible)
        self.ItemCheck.setChecked(lambda: self.state.completed)

        self.state["completed"].connect(self.completedChanged)
        self.state["completed"].connect(gstate.update_count)

        self.ItemDelete.clicked.connect(lambda: gstate.todo_data.pop(self.__index__))
예제 #4
0
 def __init__(self, parentDialog=None):
     super(BaseSaveLoadDialog, self).__init__()
     loadUi(self._uifile, self)
     self.parentDialog = parentDialog
     self.initUI()
     self.initSignals()
     self.initData()
예제 #5
0
    def __init__(self):
        super(Overlapper_UI, self).__init__()

        DIR = os.path.dirname(__file__)
        ui_path = os.path.join(DIR, "ui", "overlapper.ui")
        loadUi(ui_path, self)

        self.Overlap_BTN.clicked.connect(self.overlapPrepare)
예제 #6
0
    def __init__(self, parent=None, class_filter=None):
        super(USelector, self).__init__(parent)

        self.class_filter = class_filter
        DIR = os.path.dirname(__file__)
        ui_path = os.path.join(DIR, "ue_selector.ui")
        loadUi(ui_path, self)

        self.initilize()
예제 #7
0
    def __init__(self, parent=None):
        super(SequencerRenderTool, self).__init__()
        DIR = os.path.dirname(__file__)
        ui_path = os.path.join(DIR, "render_tool.ui")
        loadUi(ui_path, self)

        name = "%s.ini" % self.__class__.__name__
        self.settings = QtCore.QSettings(name, QtCore.QSettings.IniFormat)
        cb_list = self.settings.value("cb_list")
        cb_list = cb_list if isinstance(cb_list, list) else [cb_list] if cb_list else []

        self.json_config = read_json()

        self.ini_file = posixpath.join(
            project_dir,
            "Saved",
            "Config",
            "Windows",
            "EditorPerProjectUserSettings.ini",
        )
        self.ini_file = self.ini_file if os.path.exists(self.ini_file) else ""
        for cb in self.Pass_Container.findChildren(QtWidgets.QCheckBox):
            if cb.objectName() in cb_list:
                cb.setChecked(True)
            cb.clicked.connect(self.dump_settings)
            self.Select_BTN.clicked.connect(partial(cb.setChecked, True))
            self.Toggle_BTN.clicked.connect(cb.toggle)
            self.NonSelect_BTN.clicked.connect(partial(cb.setChecked, False))

        self.Select_BTN.clicked.connect(self.dump_settings)
        self.Toggle_BTN.clicked.connect(self.dump_settings)
        self.NonSelect_BTN.clicked.connect(self.dump_settings)
        self.Proctocol_Combo.currentIndexChanged.connect(self.dump_settings)
        self.Proctocol_Combo.currentIndexChanged.connect(self.combo_changed)

        self.Config_LE.setText(self.ini_file)
        self.Config_Browse_BTN.clicked.connect(self.browse_file)
        self.Browse_BTN.clicked.connect(self.browse_directory)
        self.Render_BTN.clicked.connect(self.batch_render)
        self.Locate_BTN.clicked.connect(
            lambda: os.startfile(self.Output_LE.text())
            if os.path.exists(self.Output_LE.text())
            else toast(u"输出目录的路径不存在")
        )
        self.Config_BTN.clicked.connect(self.read_config)

        self.Help_Action.triggered.connect(
            lambda: webbrowser.open_new_tab(
                "http://wiki.l0v0.com/unreal/PyToolkit/#/render/1_render_tool"
            )
        )

        self.capture_settings = unreal.MovieSceneCaptureSettings()
        self.read_config()
        index = self.settings.value("index")
        self.Proctocol_Combo.setCurrentIndex(int(index)) if index else None
예제 #8
0
    def __init__(self, parent=None):
        super(AnimWidget, self).__init__(parent)

        # self.setupUi(self)

        ui_file = os.path.join(__file__, "..", "anim.ui")
        loadUi(ui_file, self)

        self.rainbow_initialize()
        self.progress_initialize()
    def __init__(self):
        super(ViewportCaptureSetting, self).__init__()
        # NOTE 加载UI文件
        ui_file = os.path.join(DIR, "ui", "setting.ui")
        loadUi(ui_file, self)

        self.menu = QtWidgets.QMenuBar(self)
        self.edit_menu = self.menu.addMenu(u'编辑')

        self.import_json_action = QtWidgets.QAction(u'导入设置', self)
        self.export_json_action = QtWidgets.QAction(u'导出设置', self)
        self.reset_json_action = QtWidgets.QAction(u'重置设置', self)

        self.back_action = QtWidgets.QAction(u'主界面', self)
        self.cam_setting_action = QtWidgets.QAction(u'摄像机设置', self)
        self.close_action = QtWidgets.QAction(u'关闭', self)

        self.edit_menu.addAction(self.import_json_action)
        self.edit_menu.addAction(self.export_json_action)
        self.edit_menu.addAction(self.reset_json_action)
        self.edit_menu.addSeparator()
        self.edit_menu.addAction(self.back_action)
        self.edit_menu.addAction(self.cam_setting_action)
        self.edit_menu.addSeparator()
        self.edit_menu.addAction(self.close_action)

        self.addHelpMenu(self, self.menu)

        # NOTE 添加下拉菜单的功能触发
        self.import_json_action.triggered.connect(self.importJsonSetting)
        self.export_json_action.triggered.connect(self.exportJsonSetting)
        self.reset_json_action.triggered.connect(self.resetJsonSetting)

        # NOTE 当设置界面的UI改变时,将数据存储到默认的json路径中
        self.Crop_CB.stateChanged.connect(self.enableCrop)
        self.Horizontal_RB.clicked.connect(
            partial(self.exportJsonSetting, SETTING_PATH))
        self.Vertical_RB.clicked.connect(
            partial(self.exportJsonSetting, SETTING_PATH))
        self.Qt_RB.clicked.connect(
            partial(self.exportJsonSetting, SETTING_PATH))
        self.Maya_RB.clicked.connect(
            partial(self.exportJsonSetting, SETTING_PATH))
        self.Limit_CB.stateChanged.connect(
            partial(self.exportJsonSetting, SETTING_PATH))
        self.Width_SP.valueChanged.connect(
            partial(self.exportJsonSetting, SETTING_PATH))
        self.Height_SP.valueChanged.connect(
            partial(self.exportJsonSetting, SETTING_PATH))
        self.Fit_SP.valueChanged.connect(
            partial(self.exportJsonSetting, SETTING_PATH))

        self.setting_data = {}
        if os.path.exists(SETTING_PATH):
            self.importJsonSetting(SETTING_PATH)
예제 #10
0
    def __init__(self, parent=None, msg='--Select--', triState=False):
        super(MultiSelectComboBox, self).__init__(parent)
        loadUi(osp.join(uiPath, 'multiSelectComboBox.ui'), self)

        self.triState = triState
        self.msg = msg
        self.menu = QMenu(self)
        self.menu.setStyleSheet("QMenu { menu-scrollable: 1; }")
        self.button.setMenu(self.menu)

        self.menu.hideEvent = self.menuHideEvent
        self.setHintText(self.msg)
예제 #11
0
    def __init__(self):
        super(AnimSpliterWindow, self).__init__()

        DIR = os.path.dirname(__file__)
        ui_file = os.path.join(DIR, "ui", "test_replaceWidget.ui")
        loadUi(ui_file, self)

        # self.Character_Combo = replaceWidget(self.Character_Combo,QtWidgets.QLabel("Character_Combo"))
        self.Create_BTN = replaceWidget(self.Create_BTN,
                                        QtWidgets.QLabel("Create_BTN"))
        self.Clear_BTN = replaceWidget(self.Clear_BTN,
                                       QtWidgets.QLabel("Clear_BTN"))
예제 #12
0
    def __init__(self):
        super(Debugger_Info, self).__init__()

        ui_path = os.path.join(DIR, "ui", "debugVar.ui")
        loadUi(ui_path, self)

        self.Filter_Table = FilterTableWidget()
        replaceWidget(self.Var_Table, self.Filter_Table)

        self.var_toggle_anim = CollapsibleWidget.install(
            self.Var_Toggle, self.Filter_Table)
        self.scope_toggle_anim = CollapsibleWidget.install(
            self.Scope_Toggle, self.Scope_List)
예제 #13
0
    def __init__(self):
        super(TodoWidget, self).__init__()
        ui_file = os.path.join(__file__, "..", "todo.ui")
        loadUi(ui_file, self)
        self.state = Binder()
        self.state.clear_text_style = "none"

        self.TodoHeader.setStyleSheet(
            lambda: "#TodoHeader { border-bottom:%spx solid lightgray; }"
            % (gstate.header_border)
        )
        self.TodoInput.setText(lambda: gstate.input)
        self.TodoInput.setStyleSheet(lambda: "font-style:%s" % (gstate.input_font))
        self.TodoInput.textChanged.connect(self.input_change)
        self.TodoInput.returnPressed.connect(self.add_item)
        self.TodoFooter.setVisible(lambda: gstate.footer_visible)
        self.TodoList.setVisible(lambda: gstate.todolist_visible)

        # NOTE add hover effect
        self.effect = QtWidgets.QGraphicsDropShadowEffect()
        self.effect.setBlurRadius(40)
        self.effect.setColor(QtGui.QColor("lightgray"))
        self.TodoContainer.setGraphicsEffect(self.effect)

        self.ItemClear.linkActivated.connect(self.clear_items)
        self.ItemClear.setText(
            lambda: '<html><head/><body><p><a href="clear" style="text-decoration: %s;color:gray">Clear completed</a></p></body></html>'
            % self.state.clear_text_style
        )
        self.ItemClear >> event_hook(
            "Enter", lambda: self.state.clear_text_style >> Set("underline")
        )
        self.ItemClear >> event_hook(
            "Leave", lambda: self.state.clear_text_style >> Set("none")
        )

        self.ItemComplted.linkActivated.connect(self.complete_items)
        self.ItemComplted.setText(
            lambda: '<html><head/><body><a href="complted" style="text-decoration:none;color:%s">﹀</p></body></html>'
            % gstate.completed_color
        )
        gstate["item_count"].connect(self.change_completed_color)

        self.ItemCount.setText(lambda: "%s item left" % gstate.item_count)

        # NOTE filter radiobutton handler
        gstate.selected >> GroupBoxBind(self.StateGroup)

        gstate["selected"].connect(self.update_item)
        gstate["todo_data"].connect(self.update_item)
        self.update_item()
예제 #14
0
    def __init__(self, parent=None, items=None, msg=''):
        '''
        @param items: objects of QCheckbox or QRadioButton
        '''
        super(SelectionBox, self).__init__(parent)
        loadUi(osp.join(uiPath, 'selectionBox.ui'), self)

        self.setMessage(msg)
        self.okButton.clicked.connect(self.ok)

        self.selectedItems = []
        self.items = items
        for item in items:
            self.itemsLayout.addWidget(item)
예제 #15
0
    def __init__(self):
        super(CtrlMirror, self).__init__()
        DIR = os.path.dirname(__file__)
        ui_file = os.path.join(DIR, "ui", "CtrlMirror.ui")
        loadUi(ui_file, self)

        self.R_list = {}
        self.L_list = {}
        self.R_matches = {}
        self.L_matches = {}
        self.C_matches = {}
        self.N_matches = {}
        self.thersold = 0.05
        self.axis = 2

        CollapsibleWidget.install(self.Get_Match_Toggle, self.Get_Match_Layout)
        CollapsibleWidget.install(self.Match_Toggle, self.Match_Layout)
        CollapsibleWidget.install(self.Crv_Mirror_Toggle,
                                  self.Crv_Mirror_Layout)
        CollapsibleWidget.install(self.Anim_Mirror_Toggle,
                                  self.Anim_Mirror_Layout)
        SpliterWidget.install(self.Match_Widget, self.Unmatch_Widget)

        self.Anim_Mirror_Layout.setEnabled(False)
        self.Crv_Mirror_Layout.setEnabled(False)

        self.YZ_RB.clicked.connect(partial(self.setAxis, 0))
        self.XZ_RB.clicked.connect(partial(self.setAxis, 1))
        self.XY_RB.clicked.connect(partial(self.setAxis, 2))

        self.Get_Matched_BTN.clicked.connect(self.getMatches)
        self.Mirror_BTN.clicked.connect(self.mirrorCtrlAttr)

        self.L_Match_List.itemDoubleClicked.connect(self.selectItem)
        self.R_Match_List.itemDoubleClicked.connect(self.selectItem)
        self.Unmatch_List.itemDoubleClicked.connect(self.selectItem)

        self.vs1 = self.L_Match_List.verticalScrollBar()
        self.vs2 = self.R_Match_List.verticalScrollBar()

        self.vs1.valueChanged.connect(self.syncScroll)
        self.vs2.valueChanged.connect(self.syncScroll)

        self.Mirror_Shape_BTN.clicked.connect(self.mirrorSelectedCrvShape)
        self.Mirror_L2R_BTN.clicked.connect(self.mirrorLeftCrvShape)
        self.Mirror_R2L_BTN.clicked.connect(self.mirrorRightCrvShape)

        self.setStyleSheet('font-family: Microsoft YaHei UI;')
예제 #16
0
    def __init__(self):
        super(CheckIntersectionWin, self).__init__()

        self.show()
        pos = self.pos()

        loadUi(UI_PATH, self)

        self.move(pos)

        self.setWindowTitle(u"maya模型穿插检测")

        # 避免出现重复的窗口
        object_name = "TopologyDetectionWin"
        if pm.window(object_name, ex=1):
            pm.deleteUI(object_name)
        self.setObjectName(object_name)

        #设置默认值
        self.lineEdit_time.setReadOnly(True)
        self.textEdit_Pos.setReadOnly(True)

        #滚动条
        self.ver_scr1 = self.listWidget_ID.verticalScrollBar()
        self.ver_scr2 = self.textEdit_Pos.verticalScrollBar()
        # NOTE 添加保护 flag
        self.ver_scr1.protected = True
        self.ver_scr2.protected = True
        self.ver_scr1.valueChanged.connect(
            partial(self.move_scrollbar, self.ver_scr1))
        self.ver_scr2.valueChanged.connect(
            partial(self.move_scrollbar, self.ver_scr2))

        self.listWidget_ID.setSelectionMode(
            QtWidgets.QAbstractItemView.ExtendedSelection)

        # 消息响应
        self.btn_other.clicked.connect(self.do_check_other)
        self.btn_self.clicked.connect(self.do_check_self)
        self.btn_select_all.clicked.connect(self.select_all)

        self.listWidget_ID.itemSelectionChanged.connect(
            self.item_click_multiple)

        self.hitface_list = []  # 储存穿插面
예제 #17
0
 def __init__(self,
              parent=None,
              title='Input',
              label='Value',
              browseButton=False,
              fileFilter="*.fbx"):
     super(SingleInputBox, self).__init__(parent)
     loadUi(osp.join(uiPath, 'singleInputBox.ui'), self)
     self.setWindowTitle(title)
     self.label.setText(label)
     self.inputValue = ''
     self.okButton.clicked.connect(self.ok)
     self.cancelButton.clicked.connect(self.cancel)
     self.inputBox.returnPressed.connect(self.ok)
     self.fileFilter = fileFilter
     if not browseButton:
         self.browseButton.hide()
     self.browseButton.clicked.connect(self.setFilename)
예제 #18
0
    def __init__(self, paernt=None, index=0, start=0, end=0):
        super(AnimSpliterItem, self).__init__()
        DIR = os.path.dirname(__file__)
        ui_file = os.path.join(DIR, "ui", "item.ui")
        loadUi(ui_file, self)

        self.Widget = paernt
        self.Start_SP.setValue(int(start))
        self.End_SP.setValue(int(end))
        self.Index_Label.setText(str(index))

        self.preview_state = False

        self.Delete_BTN.clicked.connect(self.deleteItem)
        self.Preview_BTN.clicked.connect(self.previewItem)

        self.Start_SP.valueChanged.connect(self.startChange)
        self.End_SP.valueChanged.connect(self.endChange)
예제 #19
0
    def __init__(self):
        super(Debugger_UI,self).__init__()

        self.__lang_list = {}
        self.debug_continue_state   = False
        self.debug_step_over_state  = False
        self.debug_step_into_state  = False
        self.debug_step_out_state   = False
        self.debug_cancel_state     = False
        self.debug_cancel_run_state = False
        self.debug_pdb_state        = False
        
        # NOTE 加载 UI 文件
        ui_path = os.path.join(DIR,"ui","debug.ui")
        loadUi(ui_path,self)
        
        # NOTE 生成 Debug 面板
        self.panel = Debugger_Panel(self)

        # NOTE 加载翻译器
        self.trans = QtCore.QTranslator(self)

        # NOTE setting 图标添加 右键菜单
        self.debug_setting.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)

        # NOTE 初始化 setting 右键菜单
        self.setting_menu = QtWidgets.QMenu(self)
        self.i18n_seperator = Divider()
        action = QtWidgets.QWidgetAction(self)
        action.setDefaultWidget(self.i18n_seperator)
        self.setting_menu.addAction(action)

        # NOTE 添加鼠标中键打开 Debug 图标
        self.setupScriptIconMiddleClick()
        # NOTE 添加鼠标中键 点击 setting 图标 使用 pdb 模式 Debug
        self.setupDebugSettingMiddleClick()
        # NOTE 添加鼠标中键 点击 cancel 图标 执行后续代码
        self.setupDebugCancelMiddleClick()

        # self.retranslateUi()
        self.localeList = {
            "zh_CN":u"中文",
            "en_US":u"English",
        }
예제 #20
0
    def __init__(self, parent=None):
        mainWindowPtr = omui.MQtUtil.mainWindow()
        parent = wrapInstance(long(mainWindowPtr), QtWidgets.QMainWindow)
        # parent = parent if parent else QtWidgets.QApplication.activeWindow()
        super(MyTestWidget, self).__init__(parent=parent)

        ui_file = "%s.ui" % os.path.splitext(__file__)[0]
        loadUi(ui_file, self)

        # window = QtWidgets.QApplication.activeWindow()
        # self.setParent(window)

        self.Edit = QtWidgets.QLineEdit(u"Python实现")
        self.layout().addWidget(self.Edit)

        self.TestButton.clicked.connect(self.print_test)
        self.Mesh_BTN.clicked.connect(self.get_mesh)

        self.setWindowFlags(QtCore.Qt.Window)
예제 #21
0
    def __init__(self):
        super(AnimSpliterWindow, self).__init__()

        self.setting = OrderedDict()

        DIR = os.path.dirname(__file__)
        ui_file = os.path.join(DIR, "ui", "main.ui")
        loadUi(ui_file, self)

        self.Create_BTN.clicked.connect(self.addItem)
        self.Clear_BTN.clicked.connect(self.clearItem)
        self.Output_BTN.clicked.connect(self.output)

        self.menu = QtWidgets.QMenuBar(self)
        self.edit_menu = self.menu.addMenu(u'编辑')
        self.import_json_action = QtWidgets.QAction(u'导入设置', self)
        self.export_json_action = QtWidgets.QAction(u'导出设置', self)

        self.edit_menu.addAction(self.import_json_action)
        self.edit_menu.addAction(self.export_json_action)

        # NOTE 添加下拉菜单的功能触发
        self.import_json_action.triggered.connect(self.importJsonSetting)
        self.export_json_action.triggered.connect(self.exportJsonSetting)

        INSTRUNCTION_PATH = "file:///%s" % os.path.join(
            DIR, "instruction", "README.html")
        help_menu = self.menu.addMenu(u'帮助')
        help_action = QtWidgets.QAction(u'使用帮助', self)
        help_menu.addAction(help_action)
        help_action.triggered.connect(
            lambda: webbrowser.open_new_tab(INSTRUNCTION_PATH))

        self.Character_Combo = self.replaceWidget(self.Character_Combo,
                                                  ExtendedCombo())
        self.Character_Combo.currentIndexChanged.connect(self.loadConfig)

        self.loadCombo()

        self.Save_BTN.clicked.connect(self.createNewConfig)
        self.Delete_BTN.clicked.connect(self.deleteConfig)

        self.setStyleSheet('font-family: Microsoft YaHei UI;')
예제 #22
0
    def __init__(self, parent=None):
        super(CamShakerWidget, self).__init__(parent)
        loadUi(os.path.join(DIR, "cam.ui"), self)
        self.setMaximumSize(16777215, 100)

        self.Cam_Combo = replaceWidget(self.Cam_Combo, ICompleterComboBox())

        # NOTE 添加更新
        self.updateCameraList()
        signal = IMouseClickSignal(self.Cam_Combo)
        signal.LClicked.connect(self.updateCameraList)

        if self.Cam_Combo.count():
            self.Cam_Combo.setCurrentIndex(0)

        self.Cam_BTN.clicked.connect(self.getSelectedCamera)

        self.Generate_BTN = QtWidgets.QPushButton(u"生成相机约束")
        self.layout().addWidget(self.Generate_BTN)
        self.Generate_BTN.clicked.connect(self.generateCamRig)
예제 #23
0
    def __init__(self):
        super(ViewportCapture, self).__init__()
        # NOTE 加载UI文件
        ui_file = os.path.join(DIR, "ui", "ViewportCapture.ui")
        loadUi(ui_file, self)

        self.menu = QtWidgets.QMenuBar(self)
        self.edit_menu = self.menu.addMenu(u'编辑')
        self.cam_setting_action = QtWidgets.QAction(u'摄像机设置', self)
        self.setting_action = QtWidgets.QAction(u'插件设置', self)
        self.close_action = QtWidgets.QAction(u'关闭', self)

        # NOTE 添加 action
        self.edit_menu.addAction(self.cam_setting_action)
        self.edit_menu.addAction(self.setting_action)
        self.edit_menu.addSeparator()
        self.edit_menu.addAction(self.close_action)

        self.addHelpMenu(self, self.menu)

        self.Process_BTN.clicked.connect(self.capture)
    def __init__(self):
        super(ViewportCaptureCameraSetting, self).__init__()

        self.camera_setting = OrderedDict()
        self.grp = ""
        self.cam_list = []
        self.initialzie_cam = True

        # NOTE 加载UI文件
        self.item_ui = os.path.join(DIR, "ui", "item.ui")
        ui_file = os.path.join(DIR, "ui", "cam_setting.ui")
        loadUi(ui_file, self)

        self.menu = QtWidgets.QMenuBar(self)
        self.edit_menu = self.menu.addMenu(u'编辑')
        self.import_json_action = QtWidgets.QAction(u'导入设置', self)
        self.export_json_action = QtWidgets.QAction(u'导出设置', self)
        self.reset_json_action = QtWidgets.QAction(u'重置设置', self)
        self.main_action = QtWidgets.QAction(u'主界面', self)
        self.setting_action = QtWidgets.QAction(u'插件设置', self)
        self.close_action = QtWidgets.QAction(u'关闭', self)

        self.edit_menu.addAction(self.import_json_action)
        self.edit_menu.addAction(self.export_json_action)
        self.edit_menu.addAction(self.reset_json_action)
        self.edit_menu.addSeparator()
        self.edit_menu.addAction(self.main_action)
        self.edit_menu.addAction(self.setting_action)
        self.edit_menu.addSeparator()
        self.edit_menu.addAction(self.close_action)

        # NOTE 添加下拉菜单的功能触发
        self.import_json_action.triggered.connect(self.importJsonSetting)
        self.export_json_action.triggered.connect(self.exportJsonSetting)
        self.reset_json_action.triggered.connect(self.resetJsonSetting)

        self.Save_BTN.clicked.connect(self.batchLoadCamData)
        self.Add_Cam_BTN.clicked.connect(self.addCamItem)
        self.addHelpMenu(self, self.menu)
예제 #25
0
    def setUI(self):
        """设置界面"""
        #加载ui

        #self.ui = loadUi(btnWin_ui)

        self.ui = loadUi(btnWin_ui)

        self.ui.setParent(self)

        #设置布局
        self.setLayout(QVBoxLayout())
        self.layout().setContentsMargins(1.5, 1.5, 1.5, 1.5)
        self.layout().addWidget(self.ui)
예제 #26
0
    def setupUI(self):

        # 设置为模态对话框
        self.setWindowModality(Qt.ApplicationModal)
        self.setStyleSheet("background-color:#262626")
        self.setMinimumSize(Data.getWindowWidth() / 3.5,
                            Data.getWindowHeight() / 2)

        self.ui = loadUi(file_path + "\\res\\UI\\TabWidegt.ui")

        self.ui.setParent(self)

        #设置布局
        self.setLayout(QHBoxLayout())
        self.layout().addWidget(self.ui)
        self.layout().setContentsMargins(0, 0, 0, 0)
예제 #27
0
def setup_ui(uifile, base_instance=None):
    """Load a Qt Designer .ui file and returns an instance of the user interface
    Args:
        uifile (str): Absolute path to .ui file
        base_instance (QWidget): The widget into which UI widgets are
        loaded
    Returns:
        QWidget: the base instance
    """
    ui = loadUi(uifile)  # Qt.py mapped function
    if not base_instance:
        return ui
    else:
        for member in dir(ui):
            if not member.startswith('__') and \
                    member != 'staticMetaObject':
                setattr(base_instance, member, getattr(ui, member))
    return ui
예제 #28
0
    def login(self, name):
        self.widget = QWidget()
        self.widget.setMinimumSize(Data.getWindowWidth() / 6,
                                   Data.getWindowHeight() / 4)

        # 加载ui,并设置ui界面
        #self.ui = loadUi(file_path + "\\res\\UI\\LoginIn.ui")

        self.ui = loadUi(file_path + "\\res\\UI\\LoginIn.ui")

        self.ui.setParent(self.widget)

        self.widget.setLayout(QVBoxLayout())
        # 设置布局
        self.widget.layout().addWidget(self.ui)
        self.setWidget(self.widget)

        # 获取控件
        self.label_name = self.ui.findChild(QLabel, "label_name")
        self.label_identity = self.ui.findChild(QLabel, "label_identity")
        self.label_headLogin = self.ui.findChild(QLabel, "label_headLogin")
        self.btn_editUser = self.ui.findChild(QPushButton, "btn_editUser")

        # 链接信号与槽函数
        self.btn_editUser.clicked.connect(lambda: self.editUser(name))

        #saveLoginTime(name)  # 储存登陆时间
        # Todo 根据名字访问数据库里的信息,加载到界面

        self.label_name.setText(name)  # 显示用户名

        colUser = userdb[name]
        for x in colUser.find({"_id": "UserID"}, {"UserID": 1}):
            ID = x["UserID"]
            self.label_identity.setText(ID)  # 显示身份

        # 设置头像
        self.setHeadPortrait(name, self.label_headLogin)

        #设置操作记录

        self.Userlogin_signal.emit()
예제 #29
0
    def setupUI(self):

        self.setWindowTitle("浏览窗口")
     
        self.ui = loadUi(file_path + "\\res\\UI\\CenterWidget.ui")
        self.ui.setParent(self)
        self.setLayout(QVBoxLayout())
        self.layout().addWidget(self.ui)
        self.layout().setContentsMargins(0,0,0,0)


        self.child_widget = self.ui.findChild(QWidget, "widget")
       
        # 设置选择窗口
        self.widget = SelWidget()
        layout = QVBoxLayout()
        self.child_widget.setLayout(layout)
     
        self.child_widget.layout().addWidget(self.widget)
        self.flowLayout = layouitflow.FlowLayout()
        self.widget.setLayout(self.flowLayout)  #瀑布流布局
        self.widget.layout().setSpacing(0)  #设置间距
예제 #30
0
    def setupUI(self):

        self.setStyleSheet("color: #b1b1b1;background-color: #323232;")
        self.ui = loadUi(file_path + "\\res\\UI\\MainWindow.ui")
        self.ui.setParent(self)

        self.menubar = MenuBar.MenuTabWidgetExample()
        dayu_theme.apply(self.menubar)

        #设置窗口名称
        self.setWindowTitle(u"资源浏览器")

        #设置布局
        self.setLayout(QVBoxLayout())
        self.layout().setSpacing(0)
        self.layout().setContentsMargins(0, 0, 0, 0)
        self.layout().addWidget(self.menubar)
        self.layout().addWidget(self.ui)

        self.addWindow()
        dayu_theme.apply(self)

        # 最小化************气泡** ************
        self.exitOnClose = False
        aMinimum = QtWidgets.QAction(QtGui.QIcon(), u"最小化到托盘", self)
        #aMinimum.triggered.connect(self.menubar)
        #self.menu_window.addAction(aMinimum)

        self.trayIcon = QtWidgets.QSystemTrayIcon(QtGui.QIcon(ICONPATH), self)
        #self.trayIcon.setContextMenu(self.menubar)
        self.trayIcon.activated.connect(self.trayIconActivated)

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(ICONPATH), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.setWindowIcon(icon)
        # self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

        self.trayIcon.show()