当前位置: 首页>>代码示例>>Python>>正文


Python QtWidgets.QScrollArea类代码示例

本文整理汇总了Python中PyQt5.QtWidgets.QScrollArea的典型用法代码示例。如果您正苦于以下问题:Python QScrollArea类的具体用法?Python QScrollArea怎么用?Python QScrollArea使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了QScrollArea类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: widgetImage

    def widgetImage(self):
        """Create main image display.
        """
        imageArea = QHBoxLayout()
        scroll = QScrollArea()
        scroll.setAlignment(QtCore.Qt.AlignCenter)
        self.imageLabel = QLabel(self)

        scroll.setWidget(self.imageLabel)
        next = QPushButton(self.tr('>'))
        next.clicked.connect(self.nextCluster)
        prev = QPushButton(self.tr('<'))
        prev.clicked.connect(self.prevCluster)
        imageArea.addWidget(prev)
        imageArea.addWidget(scroll)
        imageArea.addWidget(next)

        vbox = QVBoxLayout()
        self.clusterCountLabel = QLabel(self)
        self.clusterCountLabel.setAlignment(QtCore.Qt.AlignCenter)
        f = QtGui.QFont('Arial', 14, QtGui.QFont.Bold);
        self.clusterCountLabel.setFont(f)
        vbox.addWidget(self.clusterCountLabel)
        vbox.addLayout(imageArea)
        return vbox
开发者ID:xsyann,项目名称:clustering,代码行数:25,代码来源:clustering.py

示例2: __init__

    def __init__(self, parent=None):
        super(SourceWidget, self).__init__(parent)

        self.mimeData = None

        imageFile = QFile(':/images/example.svg')
        imageFile.open(QIODevice.ReadOnly)
        self.imageData = imageFile.readAll()
        imageFile.close()

        imageArea = QScrollArea()
        self.imageLabel = QSvgWidget()
        self.imageLabel.renderer().load(self.imageData)
        imageArea.setWidget(self.imageLabel)

        instructTopLabel = QLabel("This is an SVG drawing:")
        instructBottomLabel = QLabel("Drag the icon to copy the drawing as a PNG file:")
        dragIcon = QPushButton("Export")
        dragIcon.setIcon(QIcon(':/images/drag.png'))
        dragIcon.pressed.connect(self.startDrag)

        layout = QGridLayout()
        layout.addWidget(instructTopLabel, 0, 0, 1, 2)
        layout.addWidget(imageArea, 1, 0, 2, 2)
        layout.addWidget(instructBottomLabel, 3, 0)
        layout.addWidget(dragIcon, 3, 1)
        self.setLayout(layout)
        self.setWindowTitle("Delayed Encoding")
开发者ID:Axel-Erfurt,项目名称:pyqt5,代码行数:28,代码来源:delayedencoding.py

示例3: initView

    def initView(self):
        '''创建界面'''
        scrollArea = QScrollArea(self)    # 滚动区域
        scrollArea.setWidgetResizable(True)
        self.setCentralWidget(scrollArea)

        scrollWidget = QWidget()
        scrollArea.setWidget(scrollWidget)
        gridLayout = QGridLayout(scrollWidget)    # 网格布局

        # 从QEasingCurve获取所有的type
        curve_types = [(n, c) for n, c in QEasingCurve.__dict__.items()
            if isinstance(c, QEasingCurve.Type)]
        curve_types.sort(key = lambda ct: ct[1])
        i = 0
        for curve_name, curve_type in curve_types:
            index = curve_type % 4
            widget = QWidget()
            widget.setObjectName("_BorderWidget")
            widget.setStyleSheet("QWidget#_BorderWidget{border: 1px solid black;}")
            name = QLabel("QEasingCurve." + curve_name, widget)
            mpb = MetroProgressCircleBar(widget, curve_type)
            layout = QVBoxLayout(widget)
            layout.addWidget(name)
            layout.addWidget(mpb)
            gridLayout.addWidget(widget, i, index, 1, 1)
            if index == 3:
                i += 1
开发者ID:GrandHsu,项目名称:PyQtUiLibrary,代码行数:28,代码来源:Test_MetroProgressCircleBar.py

示例4: keyReleaseEvent_

	def keyReleaseEvent_(self, ev):
		if ev.key() == Qt.Key_PageUp:
			self.imageviewer.prevImage_s()
		elif ev.key() == Qt.Key_PageDown:
			self.imageviewer.nextImage_s()
		else:
			QScrollArea.keyReleaseEvent(self, ev)
开发者ID:,项目名称:,代码行数:7,代码来源:

示例5: _create_translators_tab

 def _create_translators_tab(self):
     translators = [
         (_('Catalan'), [u'Jaume Barcelo']),
         (_('German'), []),
         (_('Galician'), [u'Jesús Arias Fisteus']),
         (_('French'), []),
         (_('Portuguese'), []),
         (_('Spanish'), [u'Jesús Arias Fisteus']),
         ]
     parts = []
     for language, names in sorted(translators,
                                   key=DialogAbout._tuple_strxfrm):
         if names:
             parts.append(u'<p><b>{0}:</b></p>'.format(language))
             parts.append(u'<ul>')
             for name in names:
                 parts.append(u'<li>{0}</li>'.format(name))
             parts.append(u'</ul>')
     label = QLabel(u''.join(parts))
     label.setTextInteractionFlags((Qt.LinksAccessibleByKeyboard
                                    | Qt.LinksAccessibleByMouse
                                    | Qt.TextBrowserInteraction
                                    | Qt.TextSelectableByKeyboard
                                    | Qt.TextSelectableByMouse))
     scroll_area = QScrollArea(self.parent())
     scroll_area.setWidget(label)
     return scroll_area
开发者ID:jfisteus,项目名称:eyegrade,代码行数:27,代码来源:dialogs.py

示例6: update

    def update(self):
        for _ in range(self.layout().count()):
            self.layout().itemAt(0).widget().close()
            self.layout().takeAt(0)

        qsa = QScrollArea()
        scroll_area_widget = QWidget()
        layout = QVBoxLayout()
        scroll_area_widget.setLayout(layout)

        model = self.result.model
        cycles_per_ms = model.cycles_per_ms
        for proc in model.processors:
            proc_r = self.result.processors[proc]
            gb = QGroupBox(proc.name)
            gb_layout = QVBoxLayout()
            gb.setLayout(gb_layout)
            gb_layout.addWidget(QLabel(
                "Cxt Save count: {}".format(proc_r.context_save_count)))
            gb_layout.addWidget(QLabel(
                "Cxt Load count: {}".format(proc_r.context_load_count)))
            gb_layout.addWidget(QLabel(
                "Cxt Save overhead: {0:.4f}ms ({1:.0f} cycles)".format(
                    float(proc_r.context_save_overhead) / cycles_per_ms,
                    proc_r.context_save_overhead)))
            gb_layout.addWidget(QLabel(
                "Cxt Load overhead: {0:.4f}ms ({1:.0f} cycles)".format(
                    float(proc_r.context_load_overhead) / cycles_per_ms,
                    proc_r.context_load_overhead)))

            layout.addWidget(gb)

        qsa.setWidget(scroll_area_widget)
        self.layout().addWidget(qsa)
开发者ID:MaximeCheramy,项目名称:simso-gui,代码行数:34,代码来源:ProcessorsTab.py

示例7: __init__

    def __init__(self, signalNames):
        super(MainWindow, self).__init__()

        widget = QWidget()
        self.setCentralWidget(widget)

        self.consoleView = ConsoleView()
        self.signalView = SignalView()
        buttonsWidget = QWidget()

        scroll = QScrollArea()
        scroll.setWidget(self.signalView)
        scroll.setWidgetResizable(True)

        hboxSignalButtons = QHBoxLayout()
        self.signalButtons = self.createSignalButtons(signalNames,
                                                      hboxSignalButtons)
        buttonsWidget.setLayout(hboxSignalButtons)

        splitter = QSplitter(self)
        splitter.setOrientation(Qt.Vertical)
        splitter.addWidget(scroll)
        splitter.addWidget(self.consoleView)
        vbox = QVBoxLayout()
        vbox.addWidget(buttonsWidget)
        vbox.addWidget(splitter)
        

        self.createActions()
        self.createMenu()

        widget.setLayout(vbox)
        self.setWindowTitle("kit")
开发者ID:uj-robotics,项目名称:jasugun,代码行数:33,代码来源:MainWindow.py

示例8: initUI

    def initUI(self, complete, back):
        self.completeButtonClick = complete
        self.backButtonClick = back

        main_layout = QHBoxLayout()

        self.photo_load_button = QPushButton("Load photo")
        self.complete_button = QPushButton("Complete")
        self.back_button = QPushButton("Back")

        self.photo_load_button.clicked.connect(self.loadPhotoDialog)

        if self.completeButtonClick is not None:
            self.complete_button.clicked.connect(self.nextState)
        if self.backButtonClick is not None:
            self.back_button.clicked.connect(self.backButtonClick)

        toolbar = QToolbar()
        toolbar.addWidgetToToolbar(self.photo_load_button)
        toolbar.addWidgetToToolbar(self.complete_button)
        toolbar.addWidgetToToolbar(self.back_button)
        toolbar.addStretch(1)

        self.viewer = QViewer()
        viewer_scroll = QScrollArea()
        viewer_scroll.setWidget(self.viewer)
        viewer_scroll.setWidgetResizable(True)

        main_layout.addWidget(toolbar)
        main_layout.addWidget(viewer_scroll)
        main_layout.setContentsMargins(0, 0, 0, 0)
        self.setLayout(main_layout)
开发者ID:AlexeiBuzuma,项目名称:Coursework,代码行数:32,代码来源:photo_loading_widget.py

示例9: createDialogCenterWidget

 def createDialogCenterWidget(self, formation):
   '''
   Scrolling list of editor widgets for editing StyleProperty.
   List comprises labels, and labeled editing widgets.
   But labels are indented as a tree.
   
   Canonical way: nest widget, layout, scrollarea
   '''
   formationLayout = formation.getLayout(top=True)
   viewport = QWidget()
   viewport.setLayout(formationLayout)
   
   # A hack so scroll bars not obscure buttons?
   # !!! left, top, right, bottom (not top, left... as usual.)
   viewport.setContentsMargins(10, 10, 10, 10)
   
   scrollArea = QScrollArea()
   scrollArea.setWidget(viewport)
   
   '''
   Assert width of contents is less than screen width (even mobile screens.)
   Can't assert height of contents less than screen height,
   e.g. a stylesheet has large height that must be vertically scrolled.
   Note this is statically determined, at design time,
   by ensuring that all rows are narrow.
   TODO dynamically enable horizontal and vertical scroll bar policy
   by calculations based on screen size and size of dialog needs?
   
   At one time, this not work: it obscured contents.
   Before I shortened many labels and model names???
   '''
   scrollArea.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
   return scrollArea
开发者ID:bootchk,项目名称:documentStyle,代码行数:33,代码来源:styleDialogWidget.py

示例10: createWidgets

	def createWidgets(self):
		"""Cette fonction permet la création de tous les widgets de la
		mainWindow"""
		
		#Création toolbar
		toolBar = self.addToolBar("Tools")
		
		#Création bar recherche
		self.lineEditSearch = QLineEdit()
		self.lineEditSearch.setPlaceholderText("Recherche")
		self.lineEditSearch.setStyleSheet("background-color:white")
		toolBar.addWidget(self.lineEditSearch)
		self.lineEditSearch.setMaximumWidth(300)
		
		#Création séparateur
		toolBar.addSeparator()
		
		#Création icon add contact
		self.actionAdd = QAction("Ajouter (Ctrl+P)",self)
		toolBar.addAction(self.actionAdd)
		self.actionAdd.setShortcut("Ctrl+P")
		self.actionAdd.setIcon(QIcon("Pictures/sign.png"))
		
		#Création icon delete contact
		self.actionDelete = QAction("supprimer (Ctrl+D)",self)
		toolBar.addAction(self.actionDelete)	
		self.actionDelete.setShortcut("Ctrl+D")
		self.actionDelete.setIcon(QIcon("Pictures/contacts.png"))
		
		#Création icon quit
		self.actionQuitter = QAction("Quitter (Ctrl+Q)",self)
		toolBar.addAction(self.actionQuitter)
		self.actionQuitter.setShortcut("Ctrl+Q")
		self.actionQuitter.setIcon(QIcon("Pictures/arrows.png"))
		
		#Création widget central
		self.centralWidget = QWidget()
		self.centralWidget.setStyleSheet("background-color:white")
		self.setCentralWidget(self.centralWidget)
		
		
		#Création dockWidget left
		dockDisplay = QDockWidget("Répertoire")
		dockDisplay.setStyleSheet("background-color:white")
		dockDisplay.setFeatures(QDockWidget.DockWidgetFloatable)
		dockDisplay.setAllowedAreas(Qt.LeftDockWidgetArea | 
			Qt.RightDockWidgetArea)
		self.addDockWidget(Qt.LeftDockWidgetArea,dockDisplay)
		containDock = QWidget(dockDisplay)
		dockDisplay.setWidget(containDock)
		dockLayout = QVBoxLayout()
		displayWidget = QScrollArea()
		displayWidget.setWidgetResizable(1)
		dockLayout.addWidget(displayWidget)
		containDock.setLayout(dockLayout)
		
		#Ajouter la list au dockwidget
		self.listContact = QListWidget()
		displayWidget.setWidget(self.listContact)
开发者ID:gloups01,项目名称:Annuaire_PyQt,代码行数:59,代码来源:View.py

示例11: __init__

    def __init__(self, parent = None, direction = "ltr", rtf = False):
        """ Creates a new QPageWidget on given parent object. 

        parent: QWidget parent
        direction: "ltr" -> Left To Right
                   "ttb" -> Top To Bottom
        rtf: Return to first, if its True it flips to the first page 
             when next page requested at the last page
        """
        # First initialize, QPageWidget is based on QScrollArea
        QScrollArea.__init__(self, parent)

        # Properties for QScrollArea
        self.setFrameShape(QFrame.NoFrame)
        self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setWidgetResizable(True)

        # Main widget, which stores all Pages in it
        self.widget = QWidget(self)

        # Layout based on QBoxLayout which supports Vertical or Horizontal layout
        if direction == "ltr":
            self.layout = QBoxLayout(QBoxLayout.LeftToRight, self.widget)
            self.__scrollBar = self.horizontalScrollBar()
            self.__base_value = self.width
        else:
            self.layout = QBoxLayout(QBoxLayout.TopToBottom, self.widget)
            self.__scrollBar = self.verticalScrollBar()
            self.__base_value = self.height
        self.layout.setSpacing(0)
        self.layout.setMargin(0)

        # Return to first
        self.__return_to_first = rtf

        # TMP_PAGE, its using as last page in stack
        # A workaround for a QScrollArea bug
        self.__tmp_page = Page(QWidget(self.widget))
        self.__pages = [self.__tmp_page]
        self.__current = 0
        self.__last = 0

        # Set main widget
        self.setWidget(self.widget)

        # Animation TimeLine
        self.__timeline = QTimeLine()
        self.__timeline.setUpdateInterval(2)

        # Updates scrollbar position when frame changed
        self.__timeline.frameChanged.connect(lambda x: self.__scrollBar.setValue(x))

        # End of the animation
        self.__timeline.finished.connect(self._animateFinished)

        # Initialize animation
        self.setAnimation()
        self.setDuration()
开发者ID:PisiLinuxRepos,项目名称:pisilinux-desktop-services,代码行数:59,代码来源:qpagewidget.py

示例12: Win

class Win(QMainWindow):
    def __init__(self, parent=None):
        super(Win, self).__init__(parent)
        self.player = None
        # args
        parser = argparse.ArgumentParser(description='BBC radio player')
        parser.add_argument('-p', '--player', default='vlc')
        parser.add_argument('player_args', nargs='*')
        args = parser.parse_args()
        self.player_prog = args.player
        self.player_args = args.player_args
        # UI
        self.setWindowTitle(WIN_TITLE)
        self.setMinimumSize(300, 600)
        self.scroll_area = QScrollArea()
        self.widget = QWidget()
        self.layout = QVBoxLayout()
        self.widget.setLayout(self.layout)
        self.scroll_area.setWidgetResizable(True)
        self.scroll_area.setWidget(self.widget)
        self.setCentralWidget(self.scroll_area)
        for name, url in STATIONS:
            button = QPushButton(name.replace('&', '&&'))
            button.args = {
                'name': name,
                'url': url,
            }
            button.clicked.connect(self.listen)
            self.layout.addWidget(button)
        # timer
        self.timer = QTimer()
        self.timer.timeout.connect(self.check_player)

    def listen(self):
        pressed_button = self.sender()
        for button in self.widget.findChildren(QPushButton):
            if button != pressed_button and not button.isEnabled():
                button.setEnabled(True)
                break
        pressed_button.setEnabled(False)
        # stop the running player instance before starting another one
        if self.player:
            if self.player.poll() is None:
                self.player.terminate()
                self.player.wait()
        cmd = [self.player_prog]
        cmd.extend(self.player_args)
        cmd.append(pressed_button.args['url'])
        try:
            self.player = subprocess.Popen(cmd)
        except Exception, e:
            msg_box = QMessageBox()
            msg_box.setText('Couldn\'t launch\n"%s"' % ' '.join(cmd))
            msg_box.setInformativeText(unicode(e))
            msg_box.exec_()
            pressed_button.setEnabled(True)
        self.setWindowTitle('%s - %s' % (pressed_button.args['name'], WIN_TITLE))
        self.timer.start(200)
开发者ID:stefantalpalaru,项目名称:bbc_radio,代码行数:58,代码来源:rai_radio.py

示例13: __init__

 def __init__(self, dialog):
     super(ScrolledPage, self).__init__(dialog)
     layout = QVBoxLayout(margin=0, spacing=0)
     self.setLayout(layout)
     scrollarea = QScrollArea(frameWidth=0, frameShape=QScrollArea.NoFrame)
     layout.addWidget(scrollarea)
     self.scrolledWidget = QWidget(scrollarea)
     scrollarea.setWidget(self.scrolledWidget)
     scrollarea.setWidgetResizable(True)
开发者ID:wbsoft,项目名称:frescobaldi,代码行数:9,代码来源:__init__.py

示例14: widgetFrame

 def widgetFrame(self):
     """Create main display widget.
     """
     vbox = QVBoxLayout()
     scroll = QScrollArea()
     scroll.setAlignment(QtCore.Qt.AlignCenter)
     self.mediaLabel = QLabel(self)
     scroll.setWidget(self.mediaLabel)
     vbox.addWidget(scroll)
     return vbox
开发者ID:smajida,项目名称:detection,代码行数:10,代码来源:window_ui.py

示例15: __init__

 def __init__(self, clearMouseOver, parent = None):
    QScrollArea.__init__(self, parent)
    self.clearMouseOver = clearMouseOver
    self.mouseOver = False
    
    self.widget = QWidget() # Just adding the layout directly doesn't work right, so wrap it in a QWidget
    self.setWidget(self.widget)
    self.setWidgetResizable(True)
    self.setMouseTracking(True)
    self.createLayout()
开发者ID:cybertron,项目名称:nemu,代码行数:10,代码来源:ListWidget.py


注:本文中的PyQt5.QtWidgets.QScrollArea类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。