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)
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)
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()
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()
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)
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)
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)
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)
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)
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()
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)
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)
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)
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)
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)
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)
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)
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()
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)
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
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)
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())
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()
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)
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)
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)
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)
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()
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")