Пример #1
0
    def __init__(self):
        super(MainWindow, self).__init__()

        centralWidget = QWidget()
        self.setCentralWidget(centralWidget)
        layout = QFormLayout(centralWidget)

        textLayout = QHBoxLayout()
        self.text = QLineEdit('Hello, PySide2')
        self.text.setClearButtonEnabled(True)
        textLayout.addWidget(self.text)
        self.sayButton = QPushButton('Say')
        textLayout.addWidget(self.sayButton)
        self.text.returnPressed.connect(self.sayButton.animateClick)
        self.sayButton.clicked.connect(self.say)
        layout.addRow('Text:', textLayout)

        self.voiceCombo = QComboBox()
        layout.addRow('Voice:', self.voiceCombo)

        self.volumeSlider = QSlider(Qt.Horizontal)
        self.volumeSlider.setMinimum(0)
        self.volumeSlider.setMaximum(100)
        self.volumeSlider.setValue(100)
        layout.addRow('Volume:', self.volumeSlider)

        self.engine = None
        engineNames = QTextToSpeech.availableEngines()
        if len(engineNames) > 0:
            engineName = engineNames[0]
            self.engine = QTextToSpeech(engineName)
            self.engine.stateChanged.connect(self.stateChanged)
            self.setWindowTitle('QTextToSpeech Example ({})'.format(engineName))
            self.voices = []
            for voice in self.engine.availableVoices():
                self.voices.append(voice)
                self.voiceCombo.addItem(voice.name())
        else:
            self.setWindowTitle('QTextToSpeech Example (no engines available)')
            self.sayButton.setEnabled(False)
Пример #2
0
    def initializeWindow(self):
        layout = QVBoxLayout()

        self.m_deviceBox = QComboBox()
        self.m_deviceBox.activated[int].connect(self.deviceChanged)
        for deviceInfo in QAudioDeviceInfo.availableDevices(
                QAudio.AudioOutput):
            self.m_deviceBox.addItem(deviceInfo.deviceName(), deviceInfo)

        layout.addWidget(self.m_deviceBox)

        self.m_modeButton = QPushButton()
        self.m_modeButton.clicked.connect(self.toggleMode)
        self.m_modeButton.setText(self.PUSH_MODE_LABEL)

        layout.addWidget(self.m_modeButton)

        self.m_suspendResumeButton = QPushButton(
            clicked=self.toggleSuspendResume)
        self.m_suspendResumeButton.setText(self.SUSPEND_LABEL)

        layout.addWidget(self.m_suspendResumeButton)

        volumeBox = QHBoxLayout()
        volumeLabel = QLabel("Volume:")
        self.m_volumeSlider = QSlider(Qt.Horizontal,
                                      minimum=0,
                                      maximum=100,
                                      singleStep=10)
        self.m_volumeSlider.valueChanged.connect(self.volumeChanged)

        volumeBox.addWidget(volumeLabel)
        volumeBox.addWidget(self.m_volumeSlider)

        layout.addLayout(volumeBox)

        window = QWidget()
        window.setLayout(layout)

        self.setCentralWidget(window)
    def __init__(self):
        super(ThresholdingGui, self).__init__()

        self.setWindowTitle('OpenCV Binary Thresholding')

        open_image_btn = QPushButton('Open Image', self)
        open_image_btn.clicked.connect(self.open_image)

        self.method_combobox = QComboBox()
        for title in self.titles:
            self.method_combobox.addItem(title)
        self.method_combobox.currentIndexChanged.connect(self.update_preview)

        self.threshold_label = QLabel('Threshold Value: 127')

        self.threshold_slider = QSlider()
        self.threshold_slider.setOrientation(Qt.Horizontal)
        self.threshold_slider.setTickPosition(QSlider.TicksBelow)
        self.threshold_slider.setTickInterval(10)
        self.threshold_slider.setMinimum(0)
        self.threshold_slider.setMaximum(255)
        self.threshold_slider.setValue(127)
        self.threshold_slider.valueChanged.connect(self.update_preview)

        self.image_label = QLabel()
        self.image = np.tile(
            np.arange(256, dtype=np.uint8).repeat(2), (512, 1))
        q_img = QImage(self.image.data, 512, 512, 512, QImage.Format_Indexed8)
        self.image_label.setPixmap(QPixmap.fromImage(q_img))

        # Create layout and add widgets
        layout = QVBoxLayout()
        layout.addWidget(open_image_btn)
        layout.addWidget(self.method_combobox)
        layout.addWidget(self.threshold_label)
        layout.addWidget(self.threshold_slider)
        layout.addWidget(self.image_label)

        # Set dialog layout
        self.setLayout(layout)
Пример #4
0
    def initUI(self):

        lcd = QLCDNumber(self)
        sld = QSlider(Qt.Horizontal, self)
        is_binary = QRadioButton("is binary?", self)

        vbox = QVBoxLayout()
        vbox.addWidget(lcd)
        vbox.addWidget(sld)
        vbox.addWidget(is_binary)

        self.setLayout(vbox)
        # sld.setRange(0, 10)
        sld.setMaximum(1000)
        sld.setMinimum(-100)

        sld.valueChanged.connect(lcd.display)
        is_binary.toggled.connect(self.switch_binary)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('EXample 6')
        self.show()
Пример #5
0
    def initUI(self):

        hbox = QHBoxLayout()

        sld = QSlider(Qt.Horizontal, self)
        sld.setFocusPolicy(Qt.NoFocus)  # 取消选中sld (默认选中, 可直接用方向键调节)
        # sld.setGeometry(30, 40, 100, 30)
        sld.valueChanged[int].connect(self.changeValue)
        hbox.addWidget(sld)

        self.filePath = 'D:\Documents\Python\Git\Learn-PyQt5-with-ZetCode\\6_subassembly\\'

        self.label = QLabel(self)
        self.label.setPixmap(QPixmap(self.filePath + 'mute.png'))
        # self.label.setGeometry(160, 40, 80, 30)
        hbox.addWidget(self.label)

        self.setLayout(hbox)

        self.setGeometry(300, 300, 600, 400)
        self.setWindowTitle("QSlider")
        self.show()
Пример #6
0
    def __init__(self,
                 interval,
                 ticks=10,
                 reset=0,
                 suffix=None,
                 label=None,
                 bold=False,
                 parent=None):
        super(ParamSlider, self).__init__(parent)

        self.slider = QSlider(Qt.Horizontal)
        self.slider.setRange(interval[0], interval[1])
        self.slider.setTickPosition(QSlider.TicksBelow)
        self.slider.setTickInterval((interval[1] - interval[0] + 1) / ticks)
        self.slider.setSingleStep(1)
        self.slider.setPageStep(1)
        self.slider.setValue(reset)
        self.slider.mouseDoubleClickEvent = self.doubleClicked

        self.spin = QSpinBox()
        self.spin.setRange(interval[0], interval[1])
        self.spin.setValue(reset)
        self.spin.setSuffix(suffix)
        self.spin.setFixedWidth(50)

        self.reset = reset
        self.slider.valueChanged.connect(self.spin.setValue)
        self.spin.valueChanged.connect(self.slider.setValue)
        self.slider.valueChanged.connect(self.valueChanged)

        layout = QHBoxLayout()
        if label is not None:
            lab = QLabel(label)
            modify_font(lab, bold=bold)
            layout.addWidget(lab)
        layout.addWidget(self.slider)
        layout.addWidget(self.spin)
        self.setLayout(layout)
        self.setMaximumWidth(200)
Пример #7
0
    def __init__(self,
                 label_string,
                 orientation=Qt.Horizontal,
                 single_step=1,
                 page_step=10,
                 minimum=0,
                 maximum=100,
                 starting_value=0):
        super(LabeledSlider, self).__init__()
        self.slider = QSlider(orientation=orientation)
        self.slider.setSingleStep(single_step)
        self.slider.setPageStep(page_step)
        self.slider.setRange(minimum, maximum)
        self.slider.setValue(starting_value)
        self.label = QLabel()
        self.label_string = label_string
        self.label.setText(self.label_string.format(starting_value))
        self.slider.valueChanged.connect(self._valueChanged)

        SliderLayout = QVBoxLayout(self)
        SliderLayout.addWidget(self.label)
        SliderLayout.addWidget(self.slider)
Пример #8
0
    def __init__(self, title: str, min_value: int, max_value: int, parent=None):
        super().__init__(parent)
        self.__main_layout = QVBoxLayout()
        self.__group_box = QGroupBox(title)
        group_box_layout = QVBoxLayout()

        self.__min_label = QLabel(f'Min value: {min_value}')
        self.__max_label = QLabel(f'Max value: {max_value}')
        self.__current_value_label = QLabel(f'Current value: {min_value}')
        self.__slider = QSlider(Qt.Horizontal)
        self.__slider.valueChanged.connect(self.__on_slider_value_changed)
        self.__slider.setMinimum(min_value)
        self.__slider.setMaximum(max_value)

        group_box_layout.addWidget(self.__slider)
        group_box_layout.addWidget(self.__min_label)
        group_box_layout.addWidget(self.__max_label)
        group_box_layout.addWidget(self.__current_value_label)

        self.__group_box.setLayout(group_box_layout)
        self.__main_layout.addWidget(self.__group_box)
        self.setLayout(self.__main_layout)
Пример #9
0
    def __init__(self):
        QtWidgets.QWidget.__init__(self)
        self.content_layout = QHBoxLayout()
        self.podcasts_list = QListView()
        self.item_list = QListView()
        self.item_list.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.podcasts_list.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.duration = 0
        self.playtime_label = QLabel()
        self.duration_label = QLabel()
        self.playtime_label.setTextFormat(QtCore.Qt.PlainText)
        self.duration_label.setTextFormat(QtCore.Qt.PlainText)
        self.playtime_label.setText("00:00:00")
        self.playtime_label.setFixedHeight(20)
        self.duration_label.setText("00:00:00")
        self.duration_label.setFixedHeight(20)

        self.progress_bar = QSlider(QtCore.Qt.Horizontal)

        self.content_layout.addWidget(self.podcasts_list)
        self.content_layout.setStretch(0, 2)
        self.content_layout.addWidget(self.item_list)
        self.content_layout.setStretch(1, 8)
        self.download_button = QPushButton("&Download")
        self.play_botton = QPushButton("&Play")

        self.status_layout = QHBoxLayout()
        self.status_layout.addWidget(self.playtime_label)
        self.status_layout.addWidget(self.progress_bar)
        self.status_layout.addWidget(self.duration_label)
        # self.status_layout.addWidget(self.play_botton)
        # self.status_layout.addWidget(self.download_button)

        self.layout = QVBoxLayout()
        self.layout.addLayout(self.content_layout)
        self.layout.addLayout(self.status_layout)

        self.setLayout(self.layout)
Пример #10
0
    def __init__(self, duration: float, parent: QWidget = None):
        super().__init__(parent)

        self.log = logging.getLogger(LOGGER_NAMES.PLAYER)

        self.button = PlayPauseButton()
        self.button.setMaximumWidth(100)
        self.button.clicked.connect(self.onButtonClicked)

        self.timeSlider = SeekBar()
        self.timeSlider.setMinimum(0)
        self.timeSlider.setMaximum(int(duration * 1000))
        self.timeSlider.valueChanged.connect(self.onSeek)

        self.speedLabel = QLabel("Speed: 1x")

        self.speedSlider = QSlider(Qt.Horizontal)
        self.speedSlider.setMaximumWidth(300)
        self.speedSlider.setMinimum(1)
        self.speedSlider.setMaximum(10)
        self.speedSlider.valueChanged.connect(self.onSpeedChanged)

        vertical = QVBoxLayout()

        horizontal = QHBoxLayout()
        horizontal.addWidget(self.speedLabel)
        horizontal.addWidget(self.speedSlider)
        horizontal.addItem(
            QSpacerItem(20, 40, QSizePolicy.Expanding, QSizePolicy.Expanding))
        vertical.addLayout(horizontal)

        horizontal = QHBoxLayout()
        horizontal.addWidget(self.button)
        horizontal.addWidget(self.timeSlider)
        vertical.addLayout(horizontal)

        self.setLayout(vertical)
        self.setGeometry(0, 0, 80, 60)
Пример #11
0
    def initialize(self):

        self.setGeometry(200, 200, 400, 400)
        self.setWindowTitle("Multiprocessing Computation")

        vbox = QVBoxLayout()

        self.hs = QSlider()
        self.hs.setOrientation(Qt.Horizontal)
        self.hs.setTickInterval(1)
        self.hs.setProperty("value", 1)
        self.hs.setMinimum(1)
        self.n_cpu = multiprocessing.cpu_count()
        self.hs.setMaximum(self.n_cpu)
        self.hs.setTracking(True)
        self.hs.setTickPosition(QSlider.TicksBelow)
        self.hs.setTickInterval(1)
        self.hs.valueChanged.connect(lambda: self.label.setText(
            "Max taken cores: " + str(self.hs.value())))

        vbox.addWidget(self.hs)

        self.label = QLabel()
        self.label.setAlignment(Qt.AlignCenter)
        self.label.setText("Max taken cores: 1 ")

        vbox.addWidget(self.label)

        self.pushButton = QtWidgets.QPushButton("Test")
        self.pushButton.clicked.connect(self.test_cpu)

        vbox.addWidget(self.pushButton)

        self.textEdit = QTextEdit()
        vbox.addWidget(self.textEdit)

        self.setLayout(vbox)
        self.show()
Пример #12
0
    def __init__(self, parent=None):
        super(fen, self).__init__(parent)

        self.setMinimumSize(500, 500)
        self.clock = monClock()
        self.slider = QSlider(QtCore.Qt.Horizontal)

        layout = QVBoxLayout()

        layout.addWidget(self.clock)
        layout.addWidget(self.slider)
        #horizontalLayout = QtWidgets.QHBoxLayout(layout)

        self.setLayout(layout)

        self.slider.setMinimum(-2000)
        self.slider.setMaximum(-1)
        self.slider.setValue(-1000)

        #self.clock.valeur_sec = 0
        #self.clock.valeur_min = 0

        self.slider.valueChanged.connect(self.clock.setSpeed)
Пример #13
0
    def __init__(self, interval, step, ticks, reset=0, suffix='', parent=None):
        super(ParamSlider, self).__init__(parent)

        self.slider = QSlider(Qt.Horizontal)
        self.slider.setRange(interval[0], interval[1])
        self.slider.setTickPosition(QSlider.TicksBelow)
        self.slider.setTickInterval((interval[1] - interval[0] + 1) / ticks)
        self.slider.setSingleStep(1)
        # self.slider.setPageStep(step)
        self.slider.setPageStep(1)
        self.slider.setValue(reset)
        self.slider.mouseDoubleClickEvent = self.double_click
        self.label = QLabel()
        modify_font(self.label, bold=True)
        self.suffix = suffix
        self.reset = reset
        self.sync(reset)
        self.slider.valueChanged.connect(self.sync)

        layout = QHBoxLayout()
        layout.addWidget(self.slider)
        layout.addWidget(self.label)
        self.setLayout(layout)
Пример #14
0
 def __init__(self):
     super().__init__()
     self.locale = QLocale()
     self.setContentsMargins(0, 0, 0, 0)
     hbox = QHBoxLayout(self)
     hbox.setContentsMargins(
         0,
         0,
         0,
         0,
     )
     self.slider = QSlider(Qt.Horizontal, self)
     self.slider.setMinimum(self.slider_min)
     self.slider.setMaximum(self.slider_max)
     self.slider.setSingleStep(self.slider_step)
     self.line_edit = QLineEdit('', self)
     self.line_edit.setAlignment(Qt.AlignCenter)
     self.line_edit.setMaximumWidth(self.line_edit_width)
     self.line_edit.setMaximumHeight(self.line_edit_heigth)
     self.line_edit.setMinimumHeight(self.line_edit_heigth)
     hbox.addWidget(self.slider)
     hbox.addWidget(self.line_edit)
     self.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Minimum)
Пример #15
0
    def __init__(self):
        super(MainWindow, self).__init__()

        # Initialize main widget
        centralWidget = QWidget()
        self.setCentralWidget(centralWidget)
        layout = QFormLayout(centralWidget)

        # QLineEdit example
        textLayout = QHBoxLayout()
        self.text = QLineEdit('Hello, PySide2')
        self.text.setClearButtonEnabled(True)
        textLayout.addWidget(self.text)
        self.btn = QPushButton('Say')
        textLayout.addWidget(self.btn)
        self.text.returnPressed.connect(self.btn.animateClick)
        self.btn.clicked.connect(self.say)
        layout.addRow('Text:', textLayout)

        # QComboBox example
        self.combo = QComboBox()
        self.combo.addItems(items)
        layout.addRow('Item:', self.combo)
        self.combo.currentIndexChanged.connect(self.selected)

        # QSlide example
        self.slider = QSlider(Qt.Horizontal)
        self.slider.setMinimum(0)
        self.slider.setMaximum(100)
        self.slider.setValue(100)
        self.slider.valueChanged.connect(self.slide)
        layout.addRow('Volume:', self.slider)

        # QLabel example
        self.label = QLabel()
        self.label.setText('')
        layout.addRow('Result:', self.label)
Пример #16
0
    def __init__(self, onValueChanged, minRange=0, maxRange=10, value=5):
        super(BSlider, self).__init__()
        # initializing values
        self.onValueChanged = onValueChanged
        self.minRange = minRange
        self.maxRange = maxRange
        self.value = value

        font_for_value_label = QFont("SansSerif", 13)

        self.minLabel = QLabel(str(minRange), self)
        self.maxLabel = QLabel(str(maxRange), self)
        self.valueLabel = QLabel(str(value), self)
        self.valueLabel.setFont(font_for_value_label)
        self.minLabel.setFont(font_for_value_label)
        self.maxLabel.setFont(font_for_value_label)

        self.slider = QSlider(Qt.Horizontal, self)
        self.slider.setRange(self.minRange, self.maxRange)
        self.slider.setValue(self.value)

        # setting up signals and slots aka events
        self.slider.valueChanged[int].connect(self.onSliderValueChanged)

        self.hbox = QHBoxLayout()
        self.hbox.addWidget(self.minLabel)
        self.hbox.addWidget(self.slider)
        self.hbox.addWidget(self.maxLabel)

        self.vbox = QVBoxLayout()
        self.vbox.addLayout(self.hbox)
        self.vbox.addWidget(self.valueLabel)

        self.valueLabel.setAlignment(QtCore.Qt.AlignCenter)

        self.setLayout(self.vbox)
        self.setFixedHeight(80)
Пример #17
0
    def setup_ui(self):
        layout = QVBoxLayout()
        well = QHBoxLayout()
        prev_button = QPushButton('Previous Field')
        prev_button.clicked.connect(self.prev_field)
        select = QVBoxLayout()
        self.well_LUT = {
            value[1].split('_')[0]: value[0]
            for value in self.data.field_name.items() if '0000' in value[1]
        }
        self.idx = QComboBox()
        self.idx.addItems(list(self.well_LUT.keys()))
        self.go_btn = QPushButton('Go to well')
        self.go_btn.clicked.connect(self.go_to_well)
        select.addWidget(self.idx)
        select.addWidget(self.go_btn)
        next_button = QPushButton('Next Field')
        next_button.clicked.connect(self.next_field)
        well.addWidget(prev_button)
        well.addLayout(select)
        well.addWidget(next_button)

        self.image_label = QLabel(self)
        self.image_label.installEventFilter(self)
        controls = QHBoxLayout()
        self.slider = QSlider()
        self.slider.setOrientation(Qt.Horizontal)
        self.slider.setTickPosition(QSlider.TicksBelow)
        self.slider.setTickInterval(10)
        self.slider.setMinimum(0)
        self.slider.setMaximum(self.data.image.sizes['t'] - 1)
        self.slider.valueChanged.connect(self.changedValue)
        controls.addWidget(self.slider)
        layout.addLayout(well)
        layout.addWidget(self.image_label)
        layout.addLayout(controls)
        self.setLayout(layout)
Пример #18
0
 def __init__(self, name, min_value, max_value):
     QWidget.__init__(self)
     self.setObjectName(name)
     self.slider = QSlider(Qt.Orientation.Vertical)
     self.slider.setMaximum(max_value)
     self.slider.setMinimum(min_value)
     self.label = QLabel(name)
     self.label.setAlignment(Qt.AlignCenter)
     min_width = self.label.fontMetrics().boundingRect(
         str(min_value)).width()
     max_width = self.label.fontMetrics().boundingRect(
         str(max_value)).width()
     minimum_width = max(min_width, max_width)
     self.value = QLabel(self.to_string(min_value))
     self.value.setAlignment(Qt.AlignCenter)
     self.value.setMinimumWidth(minimum_width)
     self.value.setText(self.to_string(self.slider.sliderPosition()))
     self.layout = QVBoxLayout()
     self.layout.addWidget(self.label, alignment=Qt.AlignHCenter)
     self.layout.addWidget(self.slider, alignment=Qt.AlignHCenter)
     self.layout.addWidget(self.value, alignment=Qt.AlignHCenter)
     self.layout.setAlignment(Qt.AlignCenter)
     self.setLayout(self.layout)
     self.slider.valueChanged.connect(self.callback)
Пример #19
0
    def __init__(self, minval, maxval, startval, numdigits, background, color):
        super().__init__()

        self.lcd = QLCDNumber()
        self.lcd.setDigitCount(numdigits)
        self.lcd.setSegmentStyle(QLCDNumber.Flat)
        self.lcd.setStyleSheet(
            f"""QLCDNumber {{ background-color: {background}; color: {color}; }}"""
        )

        self.slider = QSlider(Qt.Vertical)
        self.slider.setMinimum(minval)
        self.slider.setMaximum(maxval)
        self.slider.valueChanged.connect(self.display_slider_value_in_lcd)

        self.slider.setValue(startval)
        self.display_slider_value_in_lcd()

        grid = QGridLayout()
        grid.addWidget(self.lcd, 0, 0, 4, 4)
        grid.addWidget(self.slider, 0, 4, 4, 1)
        self.setLayout(grid)

        self.show()
Пример #20
0
    def __init__(self, list_name: List[str], fem):
        super(QW_FemParams, self).__init__()

        self.list_name = list_name
        self.fem = fem
        self.grid = QGridLayout()

        self.list_sldr = []
        for iname, name in enumerate(list_name):
            lbl1a = QLabel(name + ":")
            ##
            sp1 = QSlider(Qt.Horizontal)
            sp1.setMinimum(10)
            sp1.setMaximum(100)
            sp1.setValue(50)
            sp1.valueChanged.connect(self.sliderValueChanged)
            self.list_sldr.append(sp1)
            ##
            lbl1b = QLabel("50", self)
            ##
            self.grid.addWidget(lbl1a, iname, 0)
            self.grid.addWidget(sp1, iname, 1)
            self.grid.addWidget(lbl1b, iname, 2)
        self.setLayout(self.grid)
Пример #21
0
 def createImgSlider(self, imgPath, index):
     xPosition = 36 + 47 * index
     slider = QSlider(self)
     slider.setObjectName(u"slider" + str(index))
     slider.setGeometry(QRect(xPosition, -1, 51, 300))
     slider.setCursor(QCursor(Qt.OpenHandCursor))
     slider.setMouseTracking(False)
     slider.setFocusPolicy(Qt.StrongFocus)
     slider.setAcceptDrops(False)
     slider.setAutoFillBackground(False)
     slider.setStyleSheet(u"QSlider::handle:vertical {\n"
                          "	image: url(" + imgPath + ");\n"
                          "	width: 90px;\n"
                          "	height: 90px\n"
                          "}\n"
                          "\n"
                          "QSlider::groove:vertical{\n"
                          "	background: rgba(0, 0, 0, 0);\n"
                          "}")
     slider.setValue(50)
     slider.setSliderPosition(50)
     slider.setOrientation(Qt.Vertical)
     slider.setInvertedAppearance(False)
     return slider
Пример #22
0
    def __init__(self, main_window):
        super().__init__()

        self.disply_width = 1000
        self.display_height = 800
        self.main_window = main_window

        btn_size = QSize(16, 16)

        # Open button for opening video files
        self.open_button = QPushButton("Open Video")
        self.open_button.setToolTip("Open Video File")
        self.open_button.setStatusTip("Open Video File")
        self.open_button.setFixedHeight(24)
        self.open_button.setIconSize(btn_size)
        self.open_button.setFont(QFont("Helvetica", 8))
        self.open_button.setIcon(QIcon.fromTheme("edit-undo"))
        self.open_button.clicked.connect(self.open_video_file)

        # Label for drawing scenes
        self.image_label = QLabel(self)
        self.image_label.setSizePolicy(QSizePolicy.Expanding,
                                       QSizePolicy.Expanding)
        self.image_label.setAlignment(Qt.AlignCenter)

        # Play button
        self.play_button = QPushButton()
        self.play_button.setEnabled(False)
        self.play_button.setFixedHeight(24)
        self.play_button.setIconSize(btn_size)
        self.play_button.setIcon(self.style().standardIcon(
            QStyle.SP_MediaPlay))
        self.play_button.clicked.connect(self.play)

        # Pause button
        self.pause_button = QPushButton()
        self.pause_button.setEnabled(True)
        self.pause_button.setFixedHeight(24)
        self.pause_button.setIconSize(btn_size)
        self.pause_button.setIcon(self.style().standardIcon(
            QStyle.SP_MediaPause))
        self.pause_button.clicked.connect(self.pause)

        # Next button
        self.next_button = QPushButton()
        self.next_button.setEnabled(False)
        self.next_button.setFixedHeight(24)
        self.next_button.setIconSize(btn_size)
        self.next_button.setIcon(self.style().standardIcon(
            QStyle.SP_MediaSkipForward))
        self.next_button.clicked.connect(self.next)

        # Back button
        self.back_button = QPushButton()
        self.back_button.setEnabled(False)
        self.back_button.setFixedHeight(24)
        self.back_button.setIconSize(btn_size)
        self.back_button.setIcon(self.style().standardIcon(
            QStyle.SP_MediaSkipBackward))
        self.back_button.clicked.connect(self.back)

        # Seeker
        self.seeker = QSlider(Qt.Horizontal)
        self.seeker.setRange(0, 5000)
        self.seeker.valueChanged.connect(self.seeker_value_changed)
        self.seeker.sliderMoved.connect(self.seeker_slider_moved)

        # Layout for media player controls
        control_layout = QHBoxLayout()
        control_layout.addWidget(self.open_button)
        control_layout.addWidget(self.play_button)
        control_layout.addWidget(self.pause_button)
        control_layout.addWidget(self.next_button)
        control_layout.addWidget(self.back_button)
        control_layout.addWidget(self.seeker)

        # Vertical layout for scene (image_label) and player controls
        layout = QVBoxLayout()
        layout.addWidget(self.image_label)
        layout.addLayout(control_layout)

        self.setLayout(layout)
Пример #23
0
    def __init__(self):
        super(MainWindow, self).__init__()

        self.player = QMediaPlayer()
        self.playlist = QMediaPlaylist()

        toolBar = QToolBar()
        self.addToolBar(toolBar)
        playIcon = self.style().standardIcon(QStyle.SP_MediaPlay)
        previousIcon = self.style().standardIcon(QStyle.SP_MediaSkipBackward)
        nextIcon = self.style().standardIcon(QStyle.SP_MediaSkipForward)
        pauseIcon = self.style().standardIcon(QStyle.SP_MediaPause)
        stopIcon = self.style().standardIcon(QStyle.SP_MediaStop)

        self.playAction = toolBar.addAction(playIcon, "Play")
        self.previousAction = toolBar.addAction(previousIcon, "Previous")
        self.nextAction = toolBar.addAction(nextIcon, "Next")
        self.pauseAction = toolBar.addAction(pauseIcon, "Pause")
        self.stopAction = toolBar.addAction(stopIcon, "Stop")
        self.playAction.triggered.connect(self.player.play)
        self.previousAction.triggered.connect(self.previousClicked)
        self.nextAction.triggered.connect(self.playlist.next)
        self.pauseAction.triggered.connect(self.player.pause)
        self.stopAction.triggered.connect(self.player.stop)

        self.volSlider = QSlider()
        self.volSlider.setOrientation(Qt.Horizontal)
        self.volSlider.setMinimum(0)
        self.volSlider.setMaximum(100)
        self.volSlider.setFixedWidth(120)
        self.volSlider.setValue(self.player.volume())
        self.volSlider.setTickInterval(10)
        self.volSlider.setTickPosition(QSlider.TicksBelow)
        self.volSlider.setToolTip("Volume")
        self.volSlider.valueChanged.connect(self.player.setVolume)
        toolBar.addWidget(self.volSlider)

        openAction = QAction(QIcon.fromTheme("document-open"),
                             "&Open...",
                             self,
                             shortcut=QKeySequence.Open,
                             triggered=self.open)
        exitAction = QAction(QIcon.fromTheme("application-exit"),
                             "E&xit",
                             self,
                             shortcut="Ctrl+Q",
                             triggered=self.close)
        aboutQtAct = QAction("About &Qt", self, triggered=qApp.aboutQt)
        fileMenu = self.menuBar().addMenu("&File")
        fileMenu.addAction(openAction)
        fileMenu.addAction(exitAction)
        playMenu = self.menuBar().addMenu("&Play")
        playMenu.addAction(self.playAction)
        playMenu.addAction(self.previousAction)
        playMenu.addAction(self.nextAction)
        playMenu.addAction(self.pauseAction)
        playMenu.addAction(self.stopAction)
        aboutMenu = self.menuBar().addMenu("&About")
        aboutMenu.addAction(aboutQtAct)

        self.videoWidget = QVideoWidget()
        self.setCentralWidget(self.videoWidget)

        self.player.setPlaylist(self.playlist)
        self.player.stateChanged.connect(self.updateButtons)
        self.player.setVideoOutput(self.videoWidget)
        self.updateButtons(self.player.state())
Пример #24
0
    def __init__(self):
        super(VedioUI, self).__init__()
        #定义视频总时长(分钟/秒钟),当前播放到的时间(单位ms)
        self.vedio_duration_total = '00:00'
        self.vedio_duration_now = 0
        #定义窗口和播放器
        self.player = QMediaPlayer(self)
        self.video_widget = myQVideoWidget()
        self.video_widget.resize(self.width(), self.height())
        self.player.setVideoOutput(self.video_widget)

        #设置按钮
        self.start_pause_btn = QPushButton(self)
        self.stop_btn = QPushButton(self)
        self.fast_btn = QPushButton(self)
        self.back_btn = QPushButton(self)
        self.screenshot_btn = QPushButton(self)

        #设定时间块
        self.time_label = QLabel(self)
        self.time_label.setText('--/--')
        self.progress_slider = QSlider(self)
        self.progress_slider.setEnabled(False)  #没有视频播放时,进度条不可使用
        self.progress_slider.setOrientation(Qt.Horizontal)
        #进度条移动事件
        self.progress_slider.sliderMoved.connect(self.move_position)
        #设定图标
        self.start_pause_btn.setIcon(QIcon('ico/pause.png'))
        self.stop_btn.setIcon(QIcon('ico/stop.png'))
        self.fast_btn.setIcon(QIcon('ico/fast_forward.png'))
        self.back_btn.setIcon(QIcon('ico/back_forward.png'))
        self.screenshot_btn.setIcon(QIcon('ico/screenshot.png'))

        #点击链接
        self.start_pause_btn.clicked.connect(
            lambda: self.btn_func(self.start_pause_btn))
        self.stop_btn.clicked.connect(lambda: self.btn_func(self.stop_btn))
        self.fast_btn.clicked.connect(lambda: self.btn_func(self.fast_btn))
        self.back_btn.clicked.connect(lambda: self.btn_func(self.back_btn))
        self.screenshot_btn.clicked.connect(
            lambda: self.btn_func(self.screenshot_btn))
        #获取视频时间
        self.player.durationChanged.connect(self.get_duration)
        #更新进度条
        self.player.positionChanged.connect(self.update_position)

        #界面布局
        self.h1_layout = QHBoxLayout()
        self.h2_layout = QHBoxLayout()
        self.v_layout = QVBoxLayout()

        self.h1_layout.addWidget(self.progress_slider)
        self.h1_layout.addWidget(self.time_label)

        self.h2_layout.addWidget(self.back_btn)
        self.h2_layout.addWidget(self.start_pause_btn)
        self.h2_layout.addWidget(self.stop_btn)
        self.h2_layout.addWidget(self.fast_btn)
        self.h2_layout.addWidget(self.screenshot_btn)
        self.v_layout.addWidget(self.video_widget)
        self.v_layout.addLayout(self.h1_layout)
        self.v_layout.addLayout(self.h2_layout)
        self.v_layout.setStretch(0, 1)
        self.setLayout(self.v_layout)
        #设定窗口名称及大小
        self.setWindowTitle("视频播放")
        self.resize(1024, 768)
        #居中显示
        self.center()
Пример #25
0
    def setupUi(self, parent):
        """Setup the interfaces for the clock."""

        if not self.objectName():
            self.setObjectName(u"Clock")

        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(parent.sizePolicy().hasHeightForWidth())
        parent.setSizePolicy(sizePolicy)
        parent.setAutoFillBackground(True)

        parent.setWindowFlag(Qt.Widget, True)
        if os.uname().sysname == "Linux" or self.frameless:
            parent.setWindowFlag(Qt.FramelessWindowHint, True)
    
        self.tabWidget = QTabWidget(parent)
        self.tabWidget.setObjectName(u"tabWidget")
        self.tabWidget.setGeometry(QRect(0, 0, 800, 460))
        # This works for Mac, but seems to not work with Linux/Arm/RPi
        # tabbar = self.tabWidget.tabBar()
        # tabbar.setMinimumSize(50, 24)
        # tabfont = QFont()
        # tabfont.setBold(True)
        # tabfont.setItalic(True)
        # tabfont.setPointSize(32)
        # tabbar.setFont(tabfont)

        # Setup the TABS
        self.clock = QWidget()
        self.clock.setObjectName(u"clock")
        self.tabWidget.addTab(self.clock, "")
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.clock), "Clock")

        self.weather = QWeather(parent=None, debug=self.debug)
        self.tabWidget.addTab(self.weather, "")
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.weather), "Weather")

        self.settings = QWidget()
        self.settings.setObjectName(u"settings")
        self.tabWidget.addTab(self.settings, "")
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.settings), "Settings")

        self.tabWidget.setCurrentIndex(0)

        #################################################################################################
        # Setup Clock Page
        #################################################################################################

        self.analog = AnalogClock(self.clock)

        # DIGITAL clock in "clock" tab
        self.Digital = QLabel(self.clock)
        self.Digital.setObjectName(u"Digital")
        self.Digital.setGeometry(QRect(0, 5, 765, 71))
        self.Digital.setAutoFillBackground(False)
        self.Digital.setStyleSheet(u"")
        self.Digital.setText(u"Current Time - Date + time")

        # Weather Icon
        self.weathericon = QWeatherIcon((480, 5), self.weather, parent=self.clock)
        self.weather.weather_updated.connect(self.weathericon.update)

        # Weather info on the Clock page.
        self.minipanel = QTempMiniPanel((475, 105), self.weather, parent=self.clock)
        self.weather.temp_updated.connect(self.minipanel.update)

        self.hilo = QHiLoTide((580, 5), parent=self.clock, debug=self.debug)


        # Moon phase
        self.moon = QMoon(pos=(450, 210), parent=self.clock, size=216, web=self.web)

        # Push buttons in "clock tab.
        push_button_width = 111
        push_button_height = 40
        push_button_x = 670
        push_button_y = 220

        self.ledball_off = QPushButton(self.clock)
        self.ledball_off.setObjectName(u"ledball_off")
        self.ledball_off.setText(u"LED off")
        self.ledball_off.setGeometry(QRect(push_button_x, push_button_y, push_button_width, push_button_height))

        self.ledball_on = QPushButton(self.clock)
        self.ledball_on.setObjectName(u"ledball_on")
        self.ledball_on.setText(u"LED on ")
        self.ledball_on.setGeometry(QRect(push_button_x, push_button_y+push_button_height, push_button_width, push_button_height))

        self.ledball_on2 = QPushButton(self.clock)
        self.ledball_on2.setObjectName(u"ledball_on2")
        self.ledball_on2.setText(u"LED on 2")
        self.ledball_on2.setGeometry(QRect(push_button_x, push_button_y+push_button_height*2, push_button_width, push_button_height))

        self.sleep = QPushButton(self.clock)
        self.sleep.setObjectName(u"sleep")
        self.sleep.setText(u"Sleep")
        self.sleep.setGeometry(QRect(push_button_x, push_button_y+push_button_height*3+10, push_button_width, push_button_height))

        #################################################################################################
        # Setup Weather Page
        #################################################################################################

        #################################################################################################
        # Setup Setting Page
        #################################################################################################
        self.timeEdit = QTimeEdit(self.settings)
        self.timeEdit.setObjectName(u"timeEdit")
        self.timeEdit.setDisplayFormat(u"h:mm AP")
        self.timeEdit.setGeometry(QRect(200, 30, 191, 41))
        font8 = QFont()
        font8.setFamily(u"Gill Sans")
        font8.setPointSize(16)
        font8.setBold(False)
        font8.setItalic(False)
        font8.setWeight(50)
        self.timeEdit.setFont(font8)
        self.timeEdit.setAutoFillBackground(True)
        self.timeEdit.setTime(self.bedtime)
        self.bedtime_label = QLabel(self.settings)
        self.bedtime_label.setObjectName(u"bedtime_label")
        self.bedtime_label.setText(u"Set Bedtime:")
        self.bedtime_label.setGeometry(QRect(200, 0, 151, 31))
        self.bedtime_label.setFont(font8)
        self.bedtime_label.setAutoFillBackground(True)
        self.Brightness_Value = QLCDNumber(self.settings)
        self.Brightness_Value.setObjectName(u"Brightness_Value")
        self.Brightness_Value.setGeometry(QRect(20, 120, 61, 31))
        self.Brightness_Value.setStyleSheet(u"color: \"White\";\n"
                                            "margin:0px;\n"
                                            "border:0px;background:\"transparent\";")
        self.Brightness_Value.setDigitCount(3)
        self.Brightness_Value.setProperty("value", 180.000000000000000)
        self.Brightness = QSlider(self.settings)
        self.Brightness.setObjectName(u"Brightness")
        self.Brightness.setGeometry(QRect(30, 160, 51, 261))
        self.Brightness.setAutoFillBackground(False)
        self.Brightness.setMaximum(255)
        self.Brightness.setValue(self.LCD_brightness)
        self.Brightness.setOrientation(Qt.Vertical)
        self.Brightness_label = QLabel(self.settings)
        self.Brightness_label.setObjectName(u"Brightness_label")
        self.Brightness_label.setText(u"Brightness")
        self.Brightness_label.setGeometry(QRect(20, 70, 101, 41))
        font10 = QFont()
        font10.setFamily(u"Arial Black")
        font10.setPointSize(12)
        font10.setBold(True)
        font10.setWeight(75)
        self.Brightness_label.setFont(font10)
        self.temp_test = QLabel(self.settings)
        self.temp_test.setObjectName(u"temp_test")
        self.temp_test.setText(u"T20.5 C")
        self.temp_test.setFont(font8)
        self.temp_test.setGeometry(QRect(630, 60, 141, 51))
        # self.temp_test.setFont(font_bold_20)
        self.temp_test_slide = QSlider(self.settings)
        self.temp_test_slide.setObjectName(u"temp_test_slide")
        self.temp_test_slide.setGeometry(QRect(660, 150, 51, 271))
        self.temp_test_slide.setAutoFillBackground(False)
        self.temp_test_slide.setMinimum(-250)
        self.temp_test_slide.setMaximum(450)
        self.temp_test_slide.setSingleStep(5)
        self.temp_test_slide.setPageStep(25)
        self.temp_test_slide.setValue(38)
        self.temp_test_slide.setOrientation(Qt.Vertical)
        self.temp_check_outside = QCheckBox(self.settings)
        self.temp_check_outside.setObjectName(u"temp_check_outside")
        self.temp_check_outside.setText(u"Outside")
        self.temp_check_outside.setGeometry(QRect(640, 110, 86, 20))
        self.grace_period = QSpinBox(self.settings)
        self.grace_period.setObjectName(u"grace_period")
        self.grace_period.setGeometry(QRect(411, 31, 111, 41))
        self.grace_period.setFont(font8)
        self.grace_period.setMinimum(1)
        self.grace_period.setMaximum(60)
        self.grace_period.setValue(self.bedtime_grace_period)
        self.grace_period.setDisplayIntegerBase(10)
        self.grace_period_label = QLabel(self.settings)
        self.grace_period_label.setObjectName(u"grace_period_label")
        self.grace_period_label.setText(u"Grace period:")
        self.grace_period_label.setGeometry(QRect(410, 10, 111, 16))
        self.grace_period_label.setFont(font8)

        #################################################################################################
        # SET ALL LABEL TEXTS
        #################################################################################################

        # if QT_CONFIG(tooltip)
        self.sleep.setToolTip(u"Put display to sleep")
        self.ledball_on2.setToolTip(u"Turn on the LED Ball, mode 2")
        self.ledball_on.setToolTip(u"Turn on the LED Ball.")
        self.ledball_off.setToolTip(u"Turn off the LED Ball.")
        # endif // QT_CONFIG(tooltip)

        #################################################################################################
        # Make the Connections.
        #################################################################################################

        self.temp_test_slide.valueChanged.connect(self.test_temp_update)
        self.temp_check_outside.clicked.connect(self.test_temp_update)

        self.ledball_off.clicked.connect(self.set_ledball_off)
        self.ledball_on.clicked.connect(self.set_ledball_on)
        self.ledball_on2.clicked.connect(self.set_ledball_on2)
        self.sleep.clicked.connect(self.set_sleep)

        self.timeEdit.timeChanged.connect(self.set_bedtime)
        self.grace_period.valueChanged.connect(self.set_grace_period)
        self.Brightness.valueChanged.connect(self.set_screen_brightness)
        self.Brightness.valueChanged.connect(self.Brightness_Value.display)
Пример #26
0
    def setupWidget(self):
        # Top
        self.pinBtn = ButtonIcon(icon=f"{self.resourcePath}/pin.svg",
                                 iconsize=15)
        self.closeBtn = ButtonIcon(icon=f"{self.resourcePath}/cancel.svg",
                                   iconsize=15)
        self.topLayout = QHBoxLayout()
        self.topLayout.setContentsMargins(5, 5, 5, 5)
        self.topLayout.addWidget(self.pinBtn)
        self.topLayout.addStretch()
        self.topLayout.addWidget(self.closeBtn)

        # Middle
        self.playBtn = ButtonIcon(icon=f"{self.resourcePath}/play.svg",
                                  iconsize=100)
        self.volumeSlider = QSlider(Qt.Vertical, self)
        self.volumeSlider.setMaximum(100)
        self.volumeSlider.setValue(100)
        self.volumeBtn = ButtonIcon(icon=f"{self.resourcePath}/speaker.svg",
                                    iconsize=15)
        self.volumeLayout = QVBoxLayout()
        self.volumeLayout.setContentsMargins(0, 0, 0, 0)
        for w in (self.volumeSlider, self.volumeBtn):
            self.volumeLayout.addWidget(w)

        self.playLayout = QHBoxLayout()
        self.playLayout.addStretch()
        self.playLayout.addWidget(self.playBtn)
        self.playLayout.addStretch()
        self.playLayout.addLayout(self.volumeLayout)

        # Bottom
        self.addBtn = ButtonIcon(icon=f"{self.resourcePath}/plus.svg",
                                 iconsize=15)
        self.timeSlider = TimeSlider(Qt.Horizontal, self)
        self.volumeSlider.setStyleSheet(self.timeSlider.qss())
        self.repeatBtn = ButtonIcon(icon=f"{self.resourcePath}/replay.svg",
                                    iconsize=15)
        self.listBtn = ButtonIcon(icon=f"{self.resourcePath}/list.svg",
                                  iconsize=15)
        self.bottomLayout = QHBoxLayout()
        self.bottomLayout.setContentsMargins(0, 0, 0, 0)
        self.bottomLayout.addWidget(self.addBtn)
        self.bottomLayout.addWidget(self.listBtn)
        self.bottomLayout.addWidget(self.timeSlider)
        self.bottomLayout.addWidget(self.repeatBtn)

        self.layout().addLayout(self.topLayout)
        self.layout().addStretch()
        self.layout().addLayout(self.playLayout)
        self.layout().addStretch()
        self.layout().addLayout(self.bottomLayout)

        self.timer = QTimer()
        self.timer.setInterval(50)
        self.timer.timeout.connect(self.toggleCursor)
        self.timer.start()

        self.opacFX = []
        for w in (self.pinBtn, self.closeBtn, self.playBtn, self.volumeSlider,
                  self.volumeBtn, self.addBtn, self.repeatBtn, self.listBtn):
            w.setFocusProxy(self)
            fx = QGraphicsOpacityEffect(w)
            fx.setOpacity(0)
            w.setGraphicsEffect(fx)
            self.opacFX.append(fx)
        self.timeSlider.setHeight(1)
        self.timeSlider.setFocusProxy(self)
Пример #27
0
    def __init__(self):
        super(MyWidget, self).__init__(None)

        self.view = View()
        self.grid = DateTimeGrid()
        self.slider = QSlider()
        self.model = QStandardItemModel()
        self.cmodel = ConstraintModel()

        for h in range(0, 19):
            topitem = MyStandardItem("Top Item " + str(h))
            for i in range(0, 19):
                item = MyStandardItem("Multi Item " + str(i))
                for j in range(0, 29, 3):
                    item.appendRow([
                        MyStandardItem("Item " + str(j)),
                        MyStandardItem(KDGantt.TypeTask),
                        MyStandardItem(QDateTime.currentDateTime().addDays(j),
                                       KDGantt.StartTimeRole),
                        MyStandardItem(
                            QDateTime.currentDateTime().addDays(j + 1 + i / 7),
                            KDGantt.EndTimeRole),
                        MyStandardItem(50)
                    ])

                item.appendRow([
                    MyStandardItem("Event"),
                    MyStandardItem(KDGantt.TypeEvent),
                    MyStandardItem(QDateTime.currentDateTime(),
                                   KDGantt.StartTimeRole),
                    MyStandardItem(QDateTime(), KDGantt.EndTimeRole),
                    MyStandardItem("")
                ])

                topitem.appendRow([
                    item,
                    MyStandardItem(KDGantt.TypeMulti),
                    MyStandardItem(""),
                    MyStandardItem(""),
                    MyStandardItem("")
                ])

            self.model.appendRow([
                topitem,
                MyStandardItem(KDGantt.TypeMulti),
                MyStandardItem(""),
                MyStandardItem(""),
                MyStandardItem("")
            ])

        self.model.appendRow([MyStandardItem("No data")])

        ##cmodel.addConstraint( KDGantt::Constraint( proxyModel.index( 0, 3 ), proxyModel.index( 10, 3 ) ) );
        ##cmodel.addConstraint( KDGantt::Constraint( proxyModel.index( 10, 3 ), proxyModel.index( 5, 3 ) ) );
        pidx = self.model.index(0, 0)
        pidx = self.model.index(0, 0, pidx)
        self.cmodel.addConstraint(
            Constraint(self.model.index(0, 0, pidx),
                       self.model.index(1, 0, pidx)))
        self.cmodel.addConstraint(
            Constraint(self.model.index(1, 0, pidx),
                       self.model.index(0, 0, pidx)))
        self.cmodel.addConstraint(
            Constraint(self.model.index(1, 0, pidx),
                       self.model.index(10, 0, pidx)))
        self.cmodel.addConstraint(
            Constraint(self.model.index(3, 0, pidx),
                       self.model.index(5, 0, pidx)))
        self.cmodel.addConstraint(
            Constraint(self.model.index(7, 0, pidx),
                       self.model.index(4, 0, pidx)))

        self.slider.setOrientation(Qt.Horizontal)
        self.slider.setRange(1, 10000)
        self.slider.setValue(100)
        l = QVBoxLayout(self)
        l.addWidget(self.view)
        l.addWidget(self.slider)
        self.grid.setStartDateTime(QDateTime.currentDateTime().addDays(-3))
        self.grid.setDayWidth(100)
        ##grid.setNoInformationBrush( Qt::NoBrush );
        self.view.setGrid(self.grid)
        self.view.setModel(self.model)
        ##view.setConstraintModel( &cmodel );
        self.slider.valueChanged.connect(self.slotZoom)

        pb1 = QPushButton("Print Preview...", self)
        pb2 = QPushButton("Print...", self)

        l.addWidget(pb1)
        l.addWidget(pb2)

        pb1.clicked.connect(self.slotPrintPreview)
        pb2.clicked.connect(self.slotPrint)

        gv = self.view.graphicsView()
        gv.setHeaderContextMenuPolicy(Qt.CustomContextMenu)
        gv.headerContextMenuRequested.connect(self.slotHeaderMenu)
Пример #28
0
label = QLabel(
    "Informe a nota que você acredita que \no teste de usabilidade irá resultar: ",
    janela)
label.move(20, 20)
label.resize(200, 40)

label_slider_0 = QLabel("0", janela)
label_slider_0.move(20, 60)
label_slider_0.resize(20, 20)

label_slider_100 = QLabel("100", janela)
label_slider_100.move(260, 60)
label_slider_100.resize(20, 20)

slider = QSlider(janela)
slider.move(20, 80)
slider.resize(260, 20)
slider.setOrientation(Qt.Horizontal)
slider.setMinimum(0)
slider.setMaximum(100)

text_hipotese = QLabel("Hipótese: ", janela)
text_hipotese.move(20, 110)
text_hipotese.resize(60, 20)

result_hipotese = QLabel("", janela)
result_hipotese.move(70, 110)
result_hipotese.resize(60, 20)

botao = QPushButton("Importar CSV", janela)
Пример #29
0
    def __init__(self, parent=None):
        super(NGL_HKLViewer, self).__init__(parent)

        self.verbose = 0
        self.UseOSbrowser = False
        self.jscriptfname = ""
        self.devmode = False
        for e in sys.argv:
            if "verbose" in e:
                self.verbose = e.split("verbose=")[1]
            if "UseOSbrowser" in e:
                self.UseOSbrowser = e.split("UseOSbrowser=")[1]
            if "jscriptfname" in e:
                self.jscriptfname = e.split("jscriptfname=")[1]
            if "devmode" in e:
                self.devmode = True

        self.zmq_context = None
        self.bufsize = 20000

        self.originalPalette = QApplication.palette()

        self.openFileNameButton = QPushButton("Load reflection file")
        self.openFileNameButton.setDefault(True)
        self.openFileNameButton.clicked.connect(self.OpenReflectionsFile)

        self.debugbutton = QPushButton("Debug")
        self.debugbutton.clicked.connect(self.DebugInteractively)

        self.settingsbtn = QPushButton("Settings")
        self.settingsbtn.clicked.connect(self.SettingsDialog)

        self.mousemoveslider = QSlider(Qt.Horizontal)
        self.mousemoveslider.setMinimum(0)
        self.mousemoveslider.setMaximum(300)
        self.mousemoveslider.setValue(0)
        self.mousemoveslider.sliderReleased.connect(
            self.onFinalMouseSensitivity)
        self.mousemoveslider.valueChanged.connect(self.onMouseSensitivity)
        self.mousesensitxtbox = QLineEdit('')
        self.mousesensitxtbox.setReadOnly(True)
        self.fontspinBox = QDoubleSpinBox()
        self.fontspinBox.setSingleStep(1)
        self.fontspinBox.setRange(4, 50)
        self.font = QFont()
        self.font.setFamily(self.font.defaultFamily())
        self.fontspinBox.setValue(self.font.pointSize())
        #self.fontspinBox.setValue(self.font.pixelSize())
        self.fontspinBox.valueChanged.connect(self.onFontsizeChanged)
        self.Fontsize_labeltxt = QLabel()
        self.Fontsize_labeltxt.setText("Font size:")

        self.cameraPerspectCheckBox = QCheckBox()
        self.cameraPerspectCheckBox.setText("Perspective camera")
        self.cameraPerspectCheckBox.clicked.connect(self.onCameraPerspect)
        self.cameraPerspectCheckBox.setCheckState(Qt.Unchecked)

        self.settingsform = SettingsForm(self)

        self.MillerComboBox = QComboBox()
        self.MillerComboBox.activated.connect(self.onMillerComboSelchange)
        #self.MillerComboBox.setSizeAdjustPolicy(QComboBox.AdjustToContents)

        self.MillerLabel = QLabel()
        self.MillerLabel.setText("Selected HKL Scene")

        self.HKLnameedit = QLineEdit('')
        self.HKLnameedit.setReadOnly(True)
        self.textInfo = QTextEdit()
        self.textInfo.setLineWrapMode(QTextEdit.NoWrap)
        self.textInfo.setReadOnly(True)

        labels = [
            "Label", "Type", "no. of HKLs", "Span of HKLs", "Min Max data",
            "Min Max sigmas", "d_min, d_max", "Symmetry unique", "Anomalous"
        ]
        self.millertable = QTableWidget(0, len(labels))
        self.millertable.setHorizontalHeaderLabels(labels)
        self.millertable.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
        # don't allow editing this table
        self.millertable.setEditTriggers(QTableWidget.NoEditTriggers)

        self.createExpansionBox()
        self.createFileInfoBox()
        self.CreateSliceTabs()
        self.createRadiiScaleGroupBox()
        self.createBinsBox()
        self.CreateFunctionTabs()

        mainLayout = QGridLayout()
        mainLayout.addWidget(self.FileInfoBox, 0, 0)
        mainLayout.addWidget(self.MillerLabel, 1, 0)
        mainLayout.addWidget(self.MillerComboBox, 2, 0)
        mainLayout.addWidget(self.functionTabWidget, 3, 0)
        mainLayout.addWidget(self.settingsbtn, 4, 0, 1, 1)

        #import code, traceback; code.interact(local=locals(), banner="".join( traceback.format_stack(limit=10) ) )
        if self.UseOSbrowser == False:
            self.BrowserBox = QWebEngineView()
            mainLayout.addWidget(self.BrowserBox, 0, 1, 5, 3)
            self.BrowserBox.setUrl("https://cctbx.github.io/")
            #self.BrowserBox.setUrl("https://webglreport.com/")
            #self.BrowserBox.loadFinished.connect(self.onLoadFinished)
            mainLayout.setColumnStretch(2, 1)

        mainLayout.setRowStretch(0, 1)
        mainLayout.setRowStretch(1, 0)
        mainLayout.setRowStretch(2, 1)
        mainLayout.setRowStretch(3, 1)
        mainLayout.setColumnStretch(4, 0)
        self.setLayout(mainLayout)

        self.setWindowTitle("HKL-Viewer")
        self.cctbxproc = None
        self.LaunchCCTBXPython()
        self.out = None
        self.err = None
        self.comboviewwidth = 0
        self.hklscenes_arrays = []
        self.array_infotpls = []
        self.matching_arrays = []
        self.bin_infotpls = None
        self.bin_opacities = None
        self.html_url = ""
        self.spacegroups = []
        self.info = []
        self.infostr = ""
        self.fileisvalid = False
        self.NewFileLoaded = False
        self.NewHKLscenes = False
        self.updatingNbins = False
        self.binstableitemchanges = False

        self.show()
Пример #30
0
    def __init__(self, name, log_handlers: [StreamHandler]):
        self._logger = getLogger(__name__)
        for h in log_handlers:
            self._logger.addHandler(h)
        self._logger.debug("Initializing")
        super().__init__(name)

        # device settings display
        self.dev_sets_frame = EasyFrame()
        self.dev_sets_frame.setMaximumSize(250, 350)

        self.dev_sets_layout = QVBoxLayout(self.dev_sets_frame)
        self.config_horizontal_layout = QHBoxLayout()
        self.dev_sets_layout.addWidget(EasyFrame(line=True))

        # Set configuration value display area
        self.config_frame = EasyFrame()
        self.config_layout = QHBoxLayout(self.config_frame)
        self.config_label = QLabel(self.config_frame)
        self.config_label.setAlignment(Qt.AlignCenter)
        self.config_layout.addWidget(self.config_label)
        self.config_val = QLabel(self.config_frame)
        self.config_val.setAlignment(Qt.AlignCenter)
        self.config_layout.addWidget(self.config_val)
        self.dev_sets_layout.addWidget(self.config_frame)

        self.dev_sets_layout.addWidget(EasyFrame(line=True))

        # Set preset button selection area.
        self.presets_frame = EasyFrame()
        self.presets_layout = QVBoxLayout(self.presets_frame)
        self.iso_button = ClickAnimationButton(self.presets_frame)
        self.presets_layout.addWidget(self.iso_button)
        self.dev_sets_layout.addWidget(self.presets_frame)

        self.dev_sets_layout.addWidget(EasyFrame(line=True))

        # Set stim intensity settings display area.
        self.slider_frame = EasyFrame()
        self.slider_layout = QVBoxLayout(self.slider_frame)
        self.slider_label_layout = QHBoxLayout(self.slider_frame)
        self.stim_intens_label = QLabel(self.slider_frame)
        self.stim_intens_label.setAlignment(Qt.AlignLeft)
        self.slider_label_layout.addWidget(self.stim_intens_label)
        self.stim_intens_val = QLabel(self.slider_frame)
        self.stim_intens_val.setAlignment(Qt.AlignRight | Qt.AlignTrailing
                                          | Qt.AlignVCenter)
        self.slider_label_layout.addWidget(self.stim_intens_val)
        self.slider_layout.addLayout(self.slider_label_layout)
        self.stim_intens_slider = QSlider(self.slider_frame)
        self.stim_intens_slider.setMinimum(1)
        self.stim_intens_slider.setMaximum(100)
        self.stim_intens_slider.setSliderPosition(100)
        self.stim_intens_slider.setOrientation(Qt.Horizontal)
        self.stim_intens_slider.setTickPosition(QSlider.TicksBelow)
        self.stim_intens_slider.setTickInterval(10)
        self.slider_layout.addWidget(self.stim_intens_slider)
        self.dev_sets_layout.addWidget(self.slider_frame)

        self.dev_sets_layout.addWidget(EasyFrame(line=True))

        # Set stim duration, upper isi and lower isi settings display area.
        self.input_box_frame = EasyFrame()
        self.input_box_layout = QGridLayout(self.input_box_frame)
        self.stim_dur_line_edit = QLineEdit(self.input_box_frame)
        self.stim_dur_line_edit.setMaximumSize(QSize(100, 16777215))
        self.input_box_layout.addWidget(self.stim_dur_line_edit, 0, 1, 1, 1)
        self.upper_isi_label = QLabel(self.input_box_frame)
        self.input_box_layout.addWidget(self.upper_isi_label, 1, 0, 1, 1)
        self.upper_isi_line_edit = QLineEdit(self.input_box_frame)
        self.upper_isi_line_edit.setMaximumSize(QSize(100, 16777215))
        self.input_box_layout.addWidget(self.upper_isi_line_edit, 1, 1, 1, 1)
        self.stim_dur_label = QLabel(self.input_box_frame)
        self.input_box_layout.addWidget(self.stim_dur_label, 0, 0, 1, 1)
        self.lower_isi_line_edit = QLineEdit(self.input_box_frame)
        self.lower_isi_line_edit.setMaximumSize(QSize(100, 16777215))
        self.input_box_layout.addWidget(self.lower_isi_line_edit, 2, 1, 1, 1)
        self.lower_isi_label = QLabel(self.input_box_frame)
        self.input_box_layout.addWidget(self.lower_isi_label, 2, 0, 1, 1)
        self.dev_sets_layout.addWidget(self.input_box_frame)

        self.dev_sets_layout.addWidget(EasyFrame(line=True))

        # Set upload button selection area.
        self.upload_settings_button = ClickAnimationButton()
        self.upload_settings_button.setEnabled(False)
        self.dev_sets_layout.addWidget(self.upload_settings_button)

        self.dev_sets_layout.addWidget(EasyFrame(line=True))

        # Show/Hide Configuration tab
        self.config_tab = CollapsingTab(self, self.dev_sets_frame,
                                        log_handlers)
        self.layout().addWidget(self.config_tab, 0, 1, Qt.AlignRight)

        self.strings = dict()
        # self._setup_handlers()
        self.setMinimumWidth(760)
        self.setFixedHeight(540)
        self._logger.debug("Initialized")