Пример #1
0
def load_ui_file(path: str):
    """
    Loads the main ".ui"-file from the "ui"-folder and returns the QMainWindow from it.
    Also initializes an instance of the "ui"-class.

    Arguments:
        path : the path to the ui file which should be loaded

    Returns:
        QWindow: The loaded Window

    """

    ui_file = QFile(path)

    if not ui_file.open(QIODevice.ReadOnly):
        print("Cannot open {}: {}".format(path, ui_file.errorString()))
        sys.exit(-1)

    loader = QUiLoader()
    window = loader.load(ui_file)
    ui_file.close()

    if not window:
        print(loader.errorString())
        sys.exit(-1)

    return window
Пример #2
0
    def __init__(self, ):
        ui_file = QFile("resources/ui/splashscreen.ui")
        ui_file.open(QFile.ReadOnly)
        loader = QUiLoader()
        self.window = loader.load(ui_file)
        ui_file.close()

        if not self.window:
            print(loader.errorString())
            sys.exit(-1)

        self.window.setWindowFlag(QtCore.Qt.FramelessWindowHint)
        self.window.setAttribute(QtCore.Qt.WA_TranslucentBackground)

        ## DROP SHADOW EFFECT
        self.window.shadow = QGraphicsDropShadowEffect(self.window)
        self.window.shadow.setBlurRadius(30)
        self.window.shadow.setXOffset(0)
        self.window.shadow.setYOffset(0)
        self.window.shadow.setColor(QColor(0, 0, 0, 90))
        self.window.dropShadowFrame.setGraphicsEffect(self.window.shadow)
        self.counter = 0

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.progress)
Пример #3
0
    def __init__(self, app):
        super(Ui, self).__init__()
        self.categories = []
        self.current_view = StepViews.CATEGORY_VIEW
        self.app = app

        ui_file_name = "view.ui"
        ui_file = QFile(ui_file_name)

        if not ui_file.open(QIODevice.ReadOnly):
            print("Cannot open {}: {}".format(ui_file_name,
                                              ui_file.errorString()))
            sys.exit(-1)

        loader = QUiLoader()
        self.window = loader.load(ui_file)
        ui_file.close()

        if not self.window:
            print(loader.errorString())
            sys.exit(-1)

        self.auth_manager = AuthManager(self.app)
        self.auth_manager.access_token_signal.connect(self.get_access_token)

        self.button = self.window.findChild(QPushButton, "loginToSpotify")
        self.button.clicked.connect(self.authenticate)

        self.back_button = self.window.findChild(QPushButton, "back")
        self.back_button.clicked.connect(self.setup_back_view)
Пример #4
0
class View(QMainWindow):
    def __init__(self, parent=None):
        QMainWindow.__init__(self)

        self.load_view()
        self.central_widget.file_chooser.clicked.connect(self.choose_file)

        self.setWindowTitle("Glucose Level Converter")
        self.setCentralWidget(self.central_widget)
        self.show()

    def load_view(self):
        self.ui_file = QFile(UI_FILE_NAME)
        if not self.ui_file.open(QIODevice.ReadOnly):
            print("Cannot open {}: {}".format(UI_FILE_NAME,
                                              self.ui_file.errorString()))
            sys.exit(-1)

        self.loader = QUiLoader()
        self.central_widget = self.loader.load(self.ui_file)
        self.ui_file.close()

        if not self.central_widget:
            print(self.loader.errorString())
            sys.exit(-1)

    # Returns user inputs if available
    def get_settings(self):
        settings = {}
        settings['chosen_filename'] = self.chosen_filename
        settings['sample_rate'] = (int)(
            self.central_widget.sample_rate.currentText())
        settings['buffer_size'] = (int)(
            self.central_widget.buffer_size.currentText())
        settings['window_size'] = self.central_widget.window_size.value()
        settings['is_wavetable'] = self.central_widget.is_wavetable.isChecked()
        settings['window_type'] = self.central_widget.window_type.currentText()
        settings['amt_output'] = self.central_widget.amt_files.value()

        chosen_path, filter_type = QFileDialog.getSaveFileName(
            self.central_widget, 'Save project', filter="DIA project")
        if chosen_path:
            chosen_path += "/samples"
            Path(chosen_path).mkdir(parents=True, exist_ok=True)
            settings['output_filename'] = "{}/sample_{}".format(
                chosen_path, '{}.wav')
            return settings
        else:
            return None

    def choose_file(self):
        self.chosen_filename, filter_type = QFileDialog.getOpenFileName(
            self.central_widget, 'Open file', filter="XLS files (*.xls)")

        if self.chosen_filename != "":
            self.central_widget.filename.setText(
                Path(self.chosen_filename).name)
            change_enabled_settings(self.central_widget)
Пример #5
0
def load_ui(name):
    file = QFile(name)

    if not file.open(QIODevice.ReadOnly):
        raise Exception('file')

    loader = QUiLoader()
    window = loader.load(file)
    file.close()

    if not window:
        raise Exception(loader.errorString())

    return window
Пример #6
0
 def __init__(self):
     ui_file_name = "dialog.ui"
     ui_file = QFile(ui_file_name)
     if not ui_file.open(QIODevice.ReadOnly):
         print("Cannot open {}: {}".format(ui_file_name,
                                           ui_file.errorString()))
         sys.exit(-1)
     loader = QUiLoader()
     self.window = loader.load(ui_file)
     ui_file.close()
     if not self.window:
         print(loader.errorString())
         sys.exit(-1)
     self.window.show()
Пример #7
0
    def __init__(self):
        ui_file_name = "gui.ui"
        ui_file = QFile(ui_file_name)
        if not ui_file.open(QIODevice.ReadOnly):
            print("Cannot open {}: {}".format(ui_file_name,
                                              ui_file.errorString()))
            sys.exit(-1)
        loader = QUiLoader()
        self.window = loader.load(ui_file)
        ui_file.close()

        if not self.window:
            print(loader.errorString())
            sys.exit(-1)
        self.window.show()

        self.turn = 0

        self.board = np.array([[0, 0, 0], [0, 0, 0], [0, 0, 0]])

        #buttons
        self.window.ox_1.clicked.connect(
            lambda: self.turns('1'))  #tu musi byc lambda
        self.window.ox_2.clicked.connect(lambda: self.turns('2'))
        self.window.ox_3.clicked.connect(lambda: self.turns('3'))
        self.window.ox_4.clicked.connect(lambda: self.turns('4'))
        self.window.ox_5.clicked.connect(lambda: self.turns('5'))
        self.window.ox_6.clicked.connect(lambda: self.turns('6'))
        self.window.ox_7.clicked.connect(lambda: self.turns('7'))
        self.window.ox_8.clicked.connect(lambda: self.turns('8'))
        self.window.ox_9.clicked.connect(lambda: self.turns('9'))

        #reset
        self.window.pbReset.clicked.connect(lambda: self.reset())

        #set winner labels
        self.window.player1_points.setText("0")
        self.window.player2_points.setText("0")
        self.player_1_points = 0
        self.player_2_points = 0
Пример #8
0
def ui_file_tutorial_2():
    from PySide2.QtCore import QFile, QIODevice
    from PySide2.QtUiTools import QUiLoader

    app = QApplication(sys.argv)

    ui_file_name = './mainwindow.ui'

    ui_file = QFile(ui_file_name)
    if not ui_file.open(QIODevice.ReadOnly):
        print('Cannot open {}: {}'.format(ui_file_name, ui_file.errorString()))
        sys.exit(-1)

    loader = QUiLoader()
    window = loader.load(ui_file)
    ui_file.close()

    if window:
        window.show()

        sys.exit(app.exec_())
    else:
        print(loader.errorString())
        sys.exit(-1)
Пример #9
0
if __name__ == "__main__":
    global window

    app = QApplication(sys.argv)

    ui_file_name = put + "222.ui"
    ui_file = QFile(ui_file_name)
    if not ui_file.open(QIODevice.ReadOnly):
        print("Cannot open {}: {}".format(ui_file_name, ui_file.errorString()))
        sys.exit(-1)
    loader = QUiLoader()
    window = loader.load(ui_file)
    ui_file.close()
    if not window:
        print(loader.errorString())
        sys.exit(-1)
    sas2()
    window.show()
    window.pushButton_2.clicked.connect(sas)
    window.pushButton.clicked.connect(sas2)
    window.progressBar.setValue(0)

    window.pushButton_3.clicked.connect(ButtonWay)
    window.pushButton_4.clicked.connect(ButtonWay_2)

    sys.exit(app.exec_())

os.cpu_count()

variable = Thread(target=functt, args=('ahhah', ))
Пример #10
0
    def __init__(self):
        # 加载 ui
        ui_file_name = "./UI/labelKPs.ui"
        ui_file = QFile(ui_file_name)
        if not ui_file.open(QIODevice.ReadOnly):
            print("Cannot open {}: {}".format(ui_file_name, ui_file.errorString()))
            sys.exit(-1)
        loader = QUiLoader()
        self.ui = loader.load(ui_file)
        ui_file.close()
        if not self.ui:
            print(loader.errorString())
            sys.exit(-1)

        # self.ui = QUiLoader().load("./UI/labelKPs.ui")
        self.ui.setWindowIcon(QIcon('hand_icon.ico'))

        # 定义控件,方便补全代码
        self.statusBar = self.ui.statusbar  # 状态条,用于显示提示信息,可设置信息时效ms
        self.statusLabel = QLabel("源码:")
        self.statusURL = QLabel("<a href=\"https://github.com/Runki2018/LabelKPs\">访问GitHub")
        self.statusURL.setOpenExternalLinks(True)
        self.statusBar.addPermanentWidget(self.statusLabel)
        self.statusBar.addPermanentWidget(self.statusURL)

        # button:
        self.loadButton = self.ui.loadButton  # 图片加载目录
        self.jsonButton = self.ui.jsonButton  # 选择json标注文件
        self.jsonButton.setEnabled(False)  # 只有选择了图像加载路径后,才能选择标注保持路径
        self.saveButton = self.ui.saveButton  # 保存标注——当图片数量大的时候,保存时间较慢,有几秒。
        self.preButton = self.ui.preButton  # 上一张
        self.nextButton = self.ui.nextButton  # 下一张
        self.goButton = self.ui.goButton  # 跳转
        self.buttonEnable = True  # 在点击加载目录前,其他切换图片状态的button处于禁用状态。
        # self.reverseButtonEnable()  # 控件状态取反
        self.setButtonDisable()

        # radiobutton:
        # self.bbox_radioButton = self.ui.bbox_radioButton  # 画边界框单选框
        # self.kps_radioButton = self.ui.kps_radioButton  # 画关键点单选框
        self.show_radioButton = self.ui.radioButton_show  # 显示骨架
        self.hide_radioButton = self.ui.radioButton_hide  # 隐藏骨架

        # checkBox
        self.is_occlusion = self.ui.is_occlusion  # 存在部分关键点被遮挡,默认为真
        self.blur = self.ui.blur  # 手部是否模糊,默认为假

        # listWidget:
        self.listWidget_points = self.ui.listWidget_points  # 显示当前关键点坐标的列表框
        self.listWidget_files = self.ui.listWidget_files  # 显示图片文件的列表框

        # graphicsView:
        self.graphicsView = self.ui.graphicsView  # 图片框
        self.scene = MyScene(self.listWidget_points)  # 场景,把列表控件传入,便于更新列表项,也可以用信号进制实现
        self.graphicsView.setScene(self.scene)

        # 滚动条
        self.scrollBar = self.ui.horizontalScrollBar  # 用于调整骨架线条的粗细或透明度
        self.scrollBar.setMaximum(20)  # length = Max - Min + PageStep
        self.scrollBar.setMinimum(1)
        self.scrollBar.setPageStep(1)
        self.scrollBar.setValue(self.scene.bonePen_width)  # 设滚动条初始位置 与 场景骨架笔宽初始值一致

        # label:
        self.process_number = self.ui.number_label  # 显示当前已处理的图片数/总图片数
        self.example_caption = self.ui.label_caption
        self.example_picture = self.ui.label_picture
        self.example_caption.setText("手腕1个点,其余手指各4个点,共21个点。\n"
                                     "改点的两种鼠标操作方式:\n 1、左键点击后拖拽,释放左键\n"
                                     " 2、按左键点击选中,鼠标移动至合适位置后,按右键释放")
        self.example_picture.setPixmap(QPixmap("./Example.png"))
        self.label_classes = self.ui.label_classes

        # lineEdit
        self.lineEdit = self.ui.lineEdit  # 输入框,用于输入将跳转的图片数

        # 定义事件
        self.loadButton.clicked.connect(self.load_dir)  # 加载图片文件夹
        self.jsonButton.clicked.connect(self.chooseLabelFile)  # 选择标注文件
        self.saveButton.clicked.connect(self.save_label)  # 保存标注文件
        self.preButton.clicked.connect(self.pre_img)  # 上一张图片
        self.nextButton.clicked.connect(self.next_img)  # 下一张图片
        self.goButton.clicked.connect(self.go_img)  # 下一张图片
        self.show_radioButton.clicked.connect(self.showBoneLine)  # 显示骨架
        self.hide_radioButton.clicked.connect(self.hideBoneLine)  # 隐藏骨架
        self.scrollBar.valueChanged.connect(self.scrollEvent)  # 调整骨架粗细

        # 加载和保持标注信息
        self.label = None

        # 定义实例变量
        self.load_dirpath = ""
        self.save_file = ""
        self.img_number = 0  # 图片总数
        self.index = 0  # 已处理的图片数
        self.points_list = []  # 当前手的关键点列表(未经修改)