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


Python QScrollArea.setVerticalScrollBarPolicy方法代码示例

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


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

示例1: Browser

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
class Browser(QWidget):
	def __init__(self,parent_,url,cname,fname):
		super(Browser,self).__init__(parent_)
		self.parent_=parent_
		self.initUI(url,cname,fname)

	def initUI(self,url,cname,fname):
		lbl = QLabel()
		lbl.setText('Forum News - '+cname)
		lbl.setObjectName('hlbl')
		self.browser = QTextBrowser()
		self.browser.document().setDefaultStyleSheet('p{font-size:12px;} div{margin-left:20px;}')

		f = open(url,'r')
		ftext = '<div><br><h3><b>%s</b></h3>'%fname + str(f.read())+'<br></div>'
		self.browser.setHtml(ftext)
		self.browser.setFrameStyle(QFrame.NoFrame)

		self.backBtn = QPushButton(QIcon(':/Assets/close2.png'),'Close')
		self.backBtn.setObjectName('backBtn')
		self.backBtn.clicked.connect(partial(self.parent_.closeTextBrowser))
		frame = topFrame(self.backBtn,lbl)
		frame.setObjectName('nFrameEven')


		self.widget = QWidget(self)
		self.vbox = QVBoxLayout()
		self.vbox.setSpacing(3)
		self.vbox.addWidget(frame)
		self.vbox.addWidget(self.browser)

		self.vbox.setContentsMargins(0,0,0,0)
		self.widget.setLayout(self.vbox)
		self.scroll = QScrollArea(self)
		self.scroll.setWidget(self.widget)
		self.scroll.setWidgetResizable(True)
		self.scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
		self.scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)

		vbox1 = QVBoxLayout()
		vbox1.setContentsMargins(0,0,0,0)
		vbox1.setSpacing(0)

		vbox1.addWidget(self.scroll)
		self.setLayout(vbox1)
开发者ID:AkshayAgarwal007,项目名称:Moodly,代码行数:47,代码来源:view.py

示例2: __init__

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
    def __init__(self, diffs, parent=None):
        super(PayDiffsWidget, self).__init__()

        widget = QWidget()
        diffs_layout = QVBoxLayout()
        for employee in diffs:
            box = self.create_box(employee, diffs[employee])
            diffs_layout.addWidget(box)
        widget.setLayout(diffs_layout)

        scroll = QScrollArea()
        scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
        scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        scroll.setWidgetResizable(True)
        scroll.setWidget(widget)

        widget_layout = QVBoxLayout()
        widget_layout.addWidget(scroll)
        self.setLayout(widget_layout)
开发者ID:Davincier,项目名称:payrun,代码行数:21,代码来源:paydiffs_widget.py

示例3: __init__

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
 def __init__(self, path, parent=None):
     super(Window, self).__init__()
     self.config = configparser.ConfigParser()
     self.config.read('prefs.cfg')
     if Window.menu is None:
         Window.menu = GlobalMenu()
     Window.menu.new_window_signal.connect(self.on_parent_window)
     Window.menu.clean_up_signal.connect(self.on_clean_up)
     Window.menu.delete_signal.connect(self.on_delete)
     Window.menu.rename_signal.connect(self.on_rename)
     Window.menu.file_signal.connect(self.on_file)
     Window.menu.drawer_signal.connect(self.on_drawer)
     Window.menu.trash_action_signal.connect(self.on_empty_trash)
     self.setWindowTitle(path.rsplit('/', 1)[-1])
     Window.pattern = self.config.get("background", "file")
     self.path = path
     self.widget = QWidget()
     self.palette = QPalette()
     self.palette.setBrush(
         QPalette.Background, QBrush(QPixmap(self.pattern)))
     self.widget.setPalette(self.palette)
     layout = QVBoxLayout(self)
     self._drag_widget = DragWidget(path, parent=self)
     self._drag_widget.new_window_signal.connect(self.on_new_window)
     self._drag_widget.query.connect(self.on_query)
     layout.addWidget(self._drag_widget)
     self.widget.setLayout(layout)
     scroll = QScrollArea()
     scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
     scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
     scroll.setWidgetResizable(True)
     scroll.setWidget(self.widget)
     vlayout = QVBoxLayout(self)
     vlayout.setContentsMargins(0, 0, 0, 0)
     vlayout.setSpacing(0)
     vlayout.addWidget(scroll)
     self.setLayout(vlayout)
     Window.child_windows.append(self)
     self.center()
     self.show()
开发者ID:freeaks,项目名称:filer,代码行数:42,代码来源:filer.py

示例4: get_scrollable

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
def get_scrollable(layout):
    """
    Convert layout to a scrollable widget.
    """

    widget = QWidget()

    groupbox = QGroupBox()
    groupbox.setLayout(layout)
    scroll = QScrollArea()
    scroll.setWidget(groupbox)
    scroll.setWidgetResizable(True)
    scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
    scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

    this_vbox = QVBoxLayout(widget)
    this_vbox.addWidget(scroll)
    this_vbox.setContentsMargins(0, 0, 0, 0)
    this_vbox.setSpacing(0)
    layout.setContentsMargins(0, 0, 0, 0)
    layout.setSpacing(0)
    return widget
开发者ID:aq1,项目名称:Hospital-Helper-2,代码行数:24,代码来源:utils.py

示例5: __init__

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
 def __init__(self, path, parent=None):
     super(Window, self).__init__()
     self.setWindowTitle(path)
     # self.pattern = "images/pattern.png"
     self.pattern = os.path.dirname(os.path.realpath(__file__)) + "/images/pattern7.png"
     self.path = path
     self.widget = QWidget()
     self.palette = QPalette()
     self.palette.setBrush(
         QPalette.Background, QBrush(QPixmap(self.pattern)))
     self.widget.setPalette(self.palette)
     layout = QVBoxLayout(self)
     self._drag_widget = DragWidget(path)
     self._drag_widget.windowclass_signal.connect(self.on_make_new_window)
     self._drag_widget.query.connect(self.on_query)
     layout.addWidget(self._drag_widget)
     self.widget.setLayout(layout)
     scroll = QScrollArea()
     scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
     scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
     scroll.setWidgetResizable(True)
     scroll.setWidget(self.widget)
     self.setStyleSheet("""
         QScrollBar:vertical { border:none; width:6px }
         QScrollBar::handle:vertical { background: lightgray; }
         QScrollBar::add-line:vertical { background: none; }
         QScrollBar::sub-line:vertical { background: none; }
         QScrollBar:horizontal { border:none; height:6px }
         QScrollBar::handle:horizontal { background: lightgray; }
         QScrollBar::add-line:horizontal { background: none; }
         QScrollBar::sub-line:horizontal { background: none; }
         """)
     vlayout = QVBoxLayout(self)
     vlayout.setContentsMargins(0, 0, 0, 0)
     vlayout.setSpacing(0)
     vlayout.addWidget(scroll)
     self.setLayout(vlayout)
     self.show()
开发者ID:ReneVolution,项目名称:filer,代码行数:40,代码来源:Kickstart.py

示例6: __init__

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
    def __init__(self):
        super().__init__()

        layout = QVBoxLayout()
        self.slider = QSlider(Qt.Horizontal)
        btnOpen = QPushButton("Open")
        btnPlay = QPushButton("Play")
        self.player = QMediaPlayer()
        tl = Timeline(None, None)
        tlscroll = QScrollArea()
        tlscroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        tlscroll.setWidget(tl)

        btnOpen.clicked.connect(self.open)
        btnPlay.clicked.connect(self.play)

        self.player.durationChanged.connect(self.durationChanged)
        self.player.positionChanged.connect(self.positionChanged)

        layout.addWidget(self.slider)
        layout.addWidget(btnOpen)
        layout.addWidget(btnPlay)
        layout.addWidget(tlscroll)
        self.setLayout(layout)
开发者ID:,项目名称:,代码行数:26,代码来源:

示例7: GlyphCollectionWidget

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
class GlyphCollectionWidget(QWidget):
    """
    A widget that presents a list of glyphs in cells.
    """

    def __init__(self, parent=None):
        super(GlyphCollectionWidget, self).__init__(parent)
        self.setAttribute(Qt.WA_KeyCompression)
        self._glyphs = []
        self._squareSize = 56
        self._columns = 10
        self._selection = set()
        self._oldSelection = None
        self._lastSelectedCell = None
        self._inputString = ""
        self._lastKeyInputTime = None

        self.glyphSelectedCallback = None
        self.doubleClickCallback = None
        self.updateCurrentGlyph = False
        self._maybeDragPosition = None

        self.setFocusPolicy(Qt.ClickFocus)
        self._currentDropIndex = None
        self._scrollArea = QScrollArea(parent)
        self._scrollArea.dragEnterEvent = self.pipeDragEnterEvent
        self._scrollArea.dragMoveEvent = self.pipeDragMoveEvent
        self._scrollArea.dragLeaveEvent = self.pipeDragLeaveEvent
        self._scrollArea.dropEvent = self.pipeDropEvent
        self._scrollArea.resizeEvent = self.resizeEvent
        self._scrollArea.setAcceptDrops(True)
        self._scrollArea.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self._scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
        self._scrollArea.setWidget(self)

    def _get_glyphs(self):
        return self._glyphs

    def _set_glyphs(self, glyphs):
        self._glyphs = glyphs
        self.adjustSize()
        self.selection = set()
        # self.update() # self.selection changed will do it

    glyphs = property(
        _get_glyphs, _set_glyphs, doc="A list of glyphs displayed. Clears "
        "selection and schedules display refresh when set.")

    def _get_selection(self):
        return self._selection

    def _set_selection(self, selection):
        self._selection = selection
        if not len(self._selection):
            self.lastSelectedCell = None
        self._computeGlyphSelection()
        self.update()

    selection = property(
        _get_selection, _set_selection, doc="A set that contains indexes of "
        "selected glyphs. Schedules display refresh when set.")

    def getSelectedGlyphs(self):
        return [self._glyphs[key] for key in sorted(self._selection)]

    def _get_lastSelectedCell(self):
        if self._lastSelectedCell is not None and \
                self._lastSelectedCell >= len(self._glyphs):
            return None
        return self._lastSelectedCell

    def _set_lastSelectedCell(self, index):
        self._lastSelectedCell = index
        if self.updateCurrentGlyph:
            glyph = self.lastSelectedGlyph()
            app = QApplication.instance()
            app.setCurrentGlyph(glyph)
        if index is not None:
            self.scrollToCell(index)

    lastSelectedCell = property(
        _get_lastSelectedCell, _set_lastSelectedCell,
        doc="The current lastSelectedCell in selection.")

    def lastSelectedGlyph(self):
        index = self.lastSelectedCell
        return self._glyphs[index] if index is not None else None

    def scrollArea(self):
        return self._scrollArea

    def scrollToCell(self, index):
        x = (.5 + index % self._columns) * self.squareSize
        y = (.5 + index // self._columns) * self.squareSize
        self._scrollArea.ensureVisible(
            x, y, .5 * self.squareSize, .5 * self.squareSize)

    def _get_currentDropIndex(self):
        return self._currentDropIndex

#.........这里部分代码省略.........
开发者ID:bitforks,项目名称:trufont,代码行数:103,代码来源:glyphCollectionView.py

示例8: GlyphsCanvas

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
class GlyphsCanvas(QWidget):

    def __init__(self, font, pointSize=defaultPointSize, parent=None):
        super(GlyphsCanvas, self).__init__(parent)
        self.setAttribute(Qt.WA_KeyCompression)
        # TODO: should we take focus by tabbing
        self.setFocusPolicy(Qt.ClickFocus)
        # XXX: make canvas font-agnostic as in defconAppkit and use
        # glyph.getParent() instead
        self.font = font
        self.fetchFontMetrics()
        self.glyphs = []
        self.ptSize = pointSize
        self.calculateScale()
        self.padding = 10
        self._editing = False
        self._showKerning = False
        self._showMetrics = False
        self._verticalFlip = False
        self._lineHeight = 1.1
        self._positions = None
        self._selected = None
        self.doubleClickCallback = None
        self.pointSizeChangedCallback = None
        self.selectionChangedCallback = None

        self._wrapLines = True
        self._scrollArea = QScrollArea(self.parent())
        self._scrollArea.resizeEvent = self.resizeEvent
        self._scrollArea.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self._scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
        self._scrollArea.setWidget(self)
        self.resize(581, 400)

    def scrollArea(self):
        return self._scrollArea

    def calculateScale(self):
        scale = self.ptSize / self.upm
        if scale < .01:
            scale = 0.01
        self.scale = scale

    def setShowKerning(self, showKerning):
        self._showKerning = showKerning
        self.adjustSize()
        self.update()

    def setShowMetrics(self, showMetrics):
        self._showMetrics = showMetrics
        self.update()

    def setVerticalFlip(self, verticalFlip):
        self._verticalFlip = verticalFlip
        self.update()

    def setLineHeight(self, lineHeight):
        self._lineHeight = lineHeight
        self.adjustSize()
        self.update()

    def setWrapLines(self, wrapLines):
        if self._wrapLines == wrapLines:
            return
        self._wrapLines = wrapLines
        self.adjustSize()
        if self._wrapLines:
            self._scrollArea.setHorizontalScrollBarPolicy(
                Qt.ScrollBarAlwaysOff)
            self._scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
        else:
            self._scrollArea.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
            self._scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
        self.update()

    def fetchFontMetrics(self):
        self.ascender = self.font.info.ascender
        if self.ascender is None:
            self.ascender = 750
        self.descender = self.font.info.descender
        if self.descender is None:
            self.descender = 250
        self.upm = self.font.info.unitsPerEm
        if self.upm is None or not self.upm > 0:
            self.upm = 1000

    def setGlyphs(self, newGlyphs):
        self.glyphs = newGlyphs
        self._selected = None
        self.adjustSize()
        self.update()

    def setPointSize(self, pointSize):
        self.ptSize = int(pointSize)
        self.calculateScale()
        self.adjustSize()
        self.update()

    def setSelected(self, selected):
        self._selected = selected
#.........这里部分代码省略.........
开发者ID:pathumego,项目名称:trufont,代码行数:103,代码来源:metricsWindow.py

示例9: MainWindow

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
class MainWindow(QMainWindow):
    def __init__(self):        
        super(MainWindow, self).__init__()

        centralWidget = QWidget()
        self.setCentralWidget(centralWidget)

        self.glWidget = GLWidget()
        self.pixmapLabel = QLabel()

        self.glWidgetArea = QScrollArea()
        self.glWidgetArea.setWidget(self.glWidget)
        self.glWidgetArea.setWidgetResizable(True)
        self.glWidgetArea.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.glWidgetArea.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.glWidgetArea.setSizePolicy(QSizePolicy.Ignored,
                QSizePolicy.Ignored)
        self.glWidgetArea.setMinimumSize(50, 50)

        self.pixmapLabelArea = QScrollArea()
        self.pixmapLabelArea.setWidget(self.pixmapLabel)
        self.pixmapLabelArea.setSizePolicy(QSizePolicy.Ignored,
                QSizePolicy.Ignored)
        self.pixmapLabelArea.setMinimumSize(50, 50)

        xSlider = self.createSlider(self.glWidget.xRotationChanged,
                self.glWidget.setXRotation)
        ySlider = self.createSlider(self.glWidget.yRotationChanged,
                self.glWidget.setYRotation)
        zSlider = self.createSlider(self.glWidget.zRotationChanged,
                self.glWidget.setZRotation)

        self.createActions()
        self.createMenus()

        centralLayout = QGridLayout()
        centralLayout.addWidget(self.glWidgetArea, 0, 0)
        centralLayout.addWidget(self.pixmapLabelArea, 0, 1)
        centralLayout.addWidget(xSlider, 1, 0, 1, 2)
        centralLayout.addWidget(ySlider, 2, 0, 1, 2)
        centralLayout.addWidget(zSlider, 3, 0, 1, 2)
        centralWidget.setLayout(centralLayout)

        xSlider.setValue(15 * 16)
        ySlider.setValue(345 * 16)
        zSlider.setValue(0 * 16)

        self.setWindowTitle("Grabber")
        self.resize(400, 300)

    def grabFrameBuffer(self):
        image = self.glWidget.grabFramebuffer()
        self.setPixmap(QPixmap.fromImage(image))

    def clearPixmap(self):
        self.setPixmap(QPixmap())

    def about(self):
        QMessageBox.about(self, "About Grabber",
                "The <b>Grabber</b> example demonstrates two approaches for "
                "rendering OpenGL into a Qt pixmap.")

    def createActions(self):
        self.grabFrameBufferAct = QAction("&Grab Frame Buffer", self,
                shortcut="Ctrl+G", triggered=self.grabFrameBuffer)

        self.clearPixmapAct = QAction("&Clear Pixmap", self,
                shortcut="Ctrl+L", triggered=self.clearPixmap)

        self.exitAct = QAction("E&xit", self, shortcut="Ctrl+Q",
                triggered=self.close)

        self.aboutAct = QAction("&About", self, triggered=self.about)

        self.aboutQtAct = QAction("About &Qt", self,
                triggered=QApplication.instance().aboutQt)

    def createMenus(self):
        self.fileMenu = self.menuBar().addMenu("&File")
        self.fileMenu.addAction(self.grabFrameBufferAct)
        self.fileMenu.addAction(self.clearPixmapAct)
        self.fileMenu.addSeparator()
        self.fileMenu.addAction(self.exitAct)

        self.helpMenu = self.menuBar().addMenu("&Help")
        self.helpMenu.addAction(self.aboutAct)
        self.helpMenu.addAction(self.aboutQtAct)

    def createSlider(self, changedSignal, setterSlot):
        slider = QSlider(Qt.Horizontal)
        slider.setRange(0, 360 * 16)
        slider.setSingleStep(16)
        slider.setPageStep(15 * 16)
        slider.setTickInterval(15 * 16)
        slider.setTickPosition(QSlider.TicksRight)

        slider.valueChanged.connect(setterSlot)
        changedSignal.connect(slider.setValue)

        return slider
#.........这里部分代码省略.........
开发者ID:death-finger,项目名称:Scripts,代码行数:103,代码来源:grabber.py

示例10: GlyphCollectionWidget

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
class GlyphCollectionWidget(QWidget):
    def __init__(self, parent=None):
        super(GlyphCollectionWidget, self).__init__(parent)
        self.setAttribute(Qt.WA_KeyCompression)
        self._glyphs = []
        # TODO: hide behind a façade
        self.squareSize = 56
        self._columns = 10
        self._selection = set()
        self._oldSelection = None
        self._lastSelectedCell = None

        self.characterSelectedCallback = None
        self.doubleClickCallback = None
        self.updateCurrentGlyph = False
        self._maybeDragPosition = None

        self.setFocusPolicy(Qt.ClickFocus)
        self._currentDropIndex = None
        self._scrollArea = QScrollArea(parent)
        self._scrollArea.dragEnterEvent = self.pipeDragEnterEvent
        self._scrollArea.dragMoveEvent = self.pipeDragMoveEvent
        self._scrollArea.dragLeaveEvent = self.pipeDragLeaveEvent
        self._scrollArea.dropEvent = self.pipeDropEvent
        self._scrollArea.setAcceptDrops(True)
        self._scrollArea.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self._scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
        self._scrollArea.setWidget(self)

    def _get_glyphs(self):
        return self._glyphs

    def _set_glyphs(self, glyphs):
        self._glyphs = glyphs
        self.adjustSize()
        self.selection = set()
        #self.update() # self.selection changed will do it

    glyphs = property(_get_glyphs, _set_glyphs, doc="A list of glyphs \
        displayed. Clears selection and schedules display refresh when set.")

    def _get_selection(self):
        return self._selection

    def _set_selection(self, selection):
        self._selection = selection
        self.computeCharacterSelected()
        self.update()

    selection = property(_get_selection, _set_selection, doc="A set that contains \
        indexes of selected glyphs. Schedules display refresh when set.")

    def getSelectedGlyphs(self):
        return [self._glyphs[key] for key in sorted(self._selection)]

    def _get_lastSelectedCell(self):
        return self._lastSelectedCell

    def _set_lastSelectedCell(self, index):
        self._lastSelectedCell = index
        if self.updateCurrentGlyph:
            glyph = self.lastSelectedGlyph()
            app = QApplication.instance()
            app.setCurrentGlyph(glyph)
        if index is not None:
            self.scrollToCell(index)

    lastSelectedCell = property(_get_lastSelectedCell, _set_lastSelectedCell,
        doc="The current lastSelectedCell in selection.")

    def lastSelectedGlyph(self):
        index = self._lastSelectedCell
        return self._glyphs[index] if index is not None else None

    def scrollArea(self):
        return self._scrollArea

    def scrollToCell(self, index):
        x = (.5 + index % self._columns) * self.squareSize
        y = (.5 + index // self._columns) * self.squareSize
        self._scrollArea.ensureVisible(x, y, .5*self.squareSize, .5*self.squareSize)

    def _get_currentDropIndex(self):
        return self._currentDropIndex

    def _set_currentDropIndex(self, index):
        self._currentDropIndex = index
        self.update()

    currentDropIndex = property(_get_currentDropIndex, _set_currentDropIndex)

    def pipeDragEnterEvent(self, event):
        # glyph reordering
        if event.source() == self:
            event.acceptProposedAction()

    def pipeDragMoveEvent(self, event):
        if event.source() == self:
            pos = event.posF()
            self.currentDropIndex = int(self._columns * (pos.y() // self.squareSize) \
#.........这里部分代码省略.........
开发者ID:konkis,项目名称:trufont,代码行数:103,代码来源:glyphCollectionView.py

示例11: notifyTab

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
class notifyTab(QWidget):

	def __init__(self,parent_):
		super(notifyTab,self).__init__(parent_)
		self.parent_=parent_
		self.obj=parent_.obj
		self.initUI()

	def initUI(self):
		self.btn = []
		self.notif_lbl = []
		self.tag_lbl = []
		self.nFrames =[]
		self.d_ = False

		for i in range(0,len(self.obj.notif)):
			pixmap=QPixmap(self.obj.tagDict[self.obj.notif[i].tag])
			pixmap = pixmap.scaled(45, 45)
			self.tag_lbl.append(QLabel(self))
			self.tag_lbl[i].setPixmap(pixmap)

		for i1 in range(0,len(self.obj.notif)):
			self.notif_lbl.append(QLabel(self))
			self.notif_lbl[i1].setScaledContents(False)
			self.notif_lbl[i1].setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
			self.notif_lbl[i1].setText(self.obj.notif[i1].notif_text)
			self.notif_lbl[i1].setObjectName("nlbl")
			self.btn.append(QPushButton('Get Link'))
			self.btn[i1].setObjectName("btn")

		for i2 in range(0,len(self.obj.notif)):
			self.nFrames.append(notifyFrames(self.notif_lbl[i2],self.tag_lbl[i2],self.btn[i2]))
			tag = self.obj.notif[i2].tag
			if tag ==2 or tag==3 or tag==4:
				self.nFrames[i2].setObjectName('nFrameOdd')
			else:
				self.nFrames[i2].setObjectName('nFrameEven')

		self.widget = QWidget(self)
		self.vbox = QVBoxLayout()

		for index, frame in enumerate(self.nFrames):
			self.vbox.addWidget(frame)

		if len(self.nFrames)<4:
			self.dframe = QFrame()
			self.dframe.setObjectName('nFrameDummy')
			self.vbox.addWidget(self.dframe)
			self.d_ = True

		self.vbox.setContentsMargins(0,0,0,0)
		self.vbox.setSpacing(3)

		self.widget.setLayout(self.vbox)
		self.scroll = QScrollArea(self)
		self.scroll.setWidget(self.widget)
		self.scroll.setWidgetResizable(True)
		self.scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
		self.scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)

		vbox1 = QVBoxLayout()
		vbox1.setContentsMargins(0,0,0,0)
		vbox1.setSpacing(0)

		vbox1.addWidget(self.scroll)
		self.setLayout(vbox1)


	def updater(self):
		marker=len(self.nFrames)
		marker1 = len(self.nFrames)

		for i in range(0,len(self.obj.notif)):
			pixmap=QPixmap(self.obj.tagDict[self.obj.notif[i].tag])
			pixmap = pixmap.scaled(45, 45)
			self.tag_lbl.append(QLabel(self))
			self.tag_lbl[marker].setPixmap(pixmap)
			marker=marker+1

		marker=marker1
		for i1 in range(0,len(self.obj.notif)):
			self.notif_lbl.append(QLabel(self))
			self.notif_lbl[marker].setScaledContents(False)
			self.notif_lbl[marker].setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
			self.notif_lbl[marker].setText(self.obj.notif[i1].notif_text)
			self.notif_lbl[marker].setObjectName("nlbl")
			self.btn.append(QPushButton('Get Link'))
			self.btn[marker].setObjectName("btn")
			marker+=1

		marker=marker1

		for i2 in range(0,len(self.obj.notif)):
			self.nFrames.append(notifyFrames(self.notif_lbl[marker],self.tag_lbl[marker],self.btn[marker]))
			marker+=1

		marker=marker1

		for i3 in range(len(self.nFrames)-1,marker-1,-1):
			self.vbox.insertWidget(0,self.nFrames[i3])
#.........这里部分代码省略.........
开发者ID:AkshayAgarwal007,项目名称:Moodly,代码行数:103,代码来源:view.py

示例12: courseTab

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
class courseTab(QWidget):
	def __init__(self,parent_):
		super(courseTab,self).__init__(parent_)
		self.parent_=parent_
		self.obj=parent_.obj
		self.initUI()

	def initUI(self):
		self.btn = []
		self.lbl = []
		self.cFrames =[]
		self.marker=0
		self.d_=False

		if len(self.obj.courses) is 0:
			self.lbl.append(QLabel(self))
			self.lbl[self.marker].setText('Your credentials have been verified but we couldn\'t configure you up. Wait for auto-update')
			self.lbl[self.marker].setObjectName("slbl")
			self.cFrames.append(errorFrame(self.lbl[self.marker]))

		for i1 in range(self.marker,len(self.obj.courses)):
			self.lbl.append(QLabel(self))
			self.lbl[i1].setText(self.obj.courses[i1].c_name.upper())
			self.lbl[i1].setObjectName("lbl")
			self.btn.append(QPushButton('FILES'))
			self.btn[i1].setObjectName("btn")
			self.btn[i1].id=i1
			self.btn[i1].clicked.connect(partial(self.createItemTab,self.btn[i1].id))


		for i2 in range(self.marker,len(self.obj.courses)):
			self.cFrames.append(courseFrames(self.lbl[i2],self.btn[i2]))

		self.marker=len(self.obj.courses)

		self.widget = QWidget(self)

		self.vbox = QVBoxLayout()
		self.vbox.setContentsMargins(0,0,0,0)
		self.vbox.setSpacing(3)

		for index, frame in enumerate(self.cFrames):
			if index%2==0:
				frame.setObjectName('cFrameEven')
			else:
				frame.setObjectName('cFrameOdd')
			self.vbox.addWidget(frame)

		if len(self.cFrames)<4:
			self.dframe = QFrame()
			self.dframe.setObjectName('nFrameDummy')
			self.vbox.addWidget(self.dframe)
			self.d_=True

		self.widget.setLayout(self.vbox)

		self.scroll = QScrollArea(self)


		self.scroll.setWidget(self.widget)
		self.scroll.setWidgetResizable(True)
		self.scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
		self.scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)

		vbox1 = QVBoxLayout()
		vbox1.setContentsMargins(0,0,0,0)
		vbox1.setSpacing(0)

		vbox1.addWidget(self.scroll)
		self.setLayout(vbox1)

	def createItemTab(self,id_):
		self.parent_.callItemTab(id_)

	def updater(self):
		if self.obj.dummy_courses is '':
			return
		else:
			if  self.d_==True:
				child = self.vbox.takeAt(len(self.cFrames))
				if child.widget() is not None:
					child.widget().deleteLater()
				elif child.layout() is not None:
					clearLayout(child.layout())
				self.dframe.deleteLater()

				self.d_=False

			if self.marker==0:
				self.cFrames[0].deleteLater()
				self.lbl[0].deleteLater()
				child = self.vbox.takeAt(0)
				if child.widget() is not None:
					child.widget().deleteLater()
				elif child.layout() is not None:
					clearLayout(child.layout())
				self.lbl.pop(0)
				self.cFrames.pop(0)

			for i1 in range(self.marker,len(self.obj.courses)):
#.........这里部分代码省略.........
开发者ID:AkshayAgarwal007,项目名称:Moodly,代码行数:103,代码来源:view.py

示例13: reConfigureWidget

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]

#.........这里部分代码省略.........
		self.combo.setCurrentIndex(index)

		self.combo2.addItem("Turn Off")

		for i4 in range(1,9):
			self.combo2.addItem(str(i4*5)+" mins")

		index1 = self.combo2.findText(self.obj.nIntval,QtCore.Qt.MatchExactly)


		self.combo2.setCurrentIndex(index1)

		btn1=QPushButton("Save")
		btn1.setObjectName("btn")
		btn1.clicked.connect(self.callValidate)

		btn2=QPushButton("Cancel")
		btn2.setObjectName("gbtn")
		btn2.clicked.connect(self.closeConfig)

		grid = QGridLayout()

		for i2 in range(0,len(lbl)):
			grid.addWidget(lbl[i2],i2+1 , 0)

		grid.addWidget(self.qle1,1,1)
		grid.addWidget(self.qle2,2,1)
		grid.addWidget(self.c,3,1)
		grid.addWidget(self.combo2,4,1)
		grid.addWidget(self.combo,5,1)
		grid.addWidget(btn1, 6,0)
		grid.addWidget(btn2, 6,1)
		grid.setHorizontalSpacing(70)
		grid.setVerticalSpacing(30)
		grid.setContentsMargins(160, 18, 150, 0)

		hbox1 = QHBoxLayout()
		hbox1.addLayout(grid)
		self.hbox2 = QHBoxLayout()
		self.hbox2.setContentsMargins(160,0,0,0)
		self.hbox2.setSpacing(0)
		self.hbox2.addWidget(self.status_label)

		vbox = QVBoxLayout()
		vbox.setContentsMargins(0,48,0,0)
		vbox.setSpacing(0)
		vbox.addLayout(hbox1)
		vbox.addLayout(self.hbox2)

		self.widget = QWidget()
		self.widget.setLayout(vbox)
		self.widget.setObjectName('CWidget')
		self.widget.setStyleSheet('#CWidget{background-color: rgb(255, 250, 175);}')

		self.scroll = QScrollArea(self)
		self.scroll.setWidget(self.widget)
		self.scroll.setWidgetResizable(True)
		self.scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
		self.scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)

		vbox1 = QVBoxLayout()
		vbox1.setContentsMargins(0,0,0,0)
		vbox1.setSpacing(0)
		vbox1.addWidget(self.scroll)
		self.setLayout(vbox1)


	def callValidate(self):
		if self.obj.updating == True:
			reply = QMessageBox.information(self,'Moodly',"An update is in progress. Kindly wait. ", QMessageBox.Ok)

			if reply == QMessageBox.Ok:
				pass
		else:
			if self.c.isChecked():
				str_=1
			else:
				str_=0
			self.parent_.updating = True
			self.parent_.parent_.configWriter(str(self.qle1.text()),
							  str(self.qle2.text()),str(self.combo2.currentText()),str(self.combo.currentText()),str(str_),self.path_)

	def selectDirs(self,event):
		if self.c.isChecked():
			self.path_ = QFileDialog.getExistingDirectory(self, 'Select Directory(for downloaded files)')
			if self.path_ =='':
				if self.obj.dir_url =='':
					self.path_ = os.environ['PROGRAMFILES']
					self.path_ = os.path.join(self.path_,"Moodly")
					self.c.setText(self.path_)
				else:
					self.path_ = self.obj.dir_url
			self.c.setText(self.path_)
		else:
			self.c.setText('')
			self.path_=''

	def closeConfig(self):
		self.parent_.removeTab(self.parent_.indexOf(self))
		self.parent_.parent_.alreadyOpen = 0
开发者ID:AkshayAgarwal007,项目名称:Moodly,代码行数:104,代码来源:view.py

示例14: itemTab

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]

#.........这里部分代码省略.........
		for i2 in range(0,len(self.obj.courses[self.id_].items)):
			if self.obj.courses[self.id_].items[i2].saved==1:
				self.iFrames.append(itemFrames(self.lbl[i2],self.gbtn[i2],self.sbtn[i2],self.obtn[i2],self.tag_lbl[i2]))
			elif self.obj.courses[self.id_].items[i2].saved==0:
				self.iFrames.append(itemFramesNew(self.lbl[i2],self.gbtn[i2],self.sbtn[i2],self.tag_lbl[i2]))
			else:
				self.iFrames.append(itemFramesForum(self.lbl[i2],self.gbtn[i2],self.tag_lbl[i2]))

		self.widget = QWidget(self)

		self.vbox = QVBoxLayout()
		self.vbox.setSpacing(3)

		for index, frame in enumerate(self.iFrames):
			if index%2==0:
				frame.setObjectName('nFrameEven')
			else:
				frame.setObjectName('nFrameEven')
			self.vbox.addWidget(frame)

		self.vbox.setContentsMargins(0,0,0,0)

		if len(self.iFrames)<4:
			self.dframe = QFrame()
			self.dframe.setObjectName('nFrameDummy')
			self.vbox.addWidget(self.dframe)
			self.d_=True

		self.widget.setLayout(self.vbox)
		self.scroll = QScrollArea(self)
		self.scroll.setWidget(self.widget)
		self.scroll.setWidgetResizable(True)
		self.scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
		self.scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)

		vbox1 = QVBoxLayout()
		vbox1.setContentsMargins(0,0,0,0)
		vbox1.setSpacing(0)

		vbox1.addWidget(self.scroll)
		self.setLayout(vbox1)


	def shortenTabName(self,cname):
		list1 =[]
		for i, ch in enumerate(cname):
				list1.append(ch)
				if len(list1)==40:
					if list1[i]== ' ':
						list1.pop(i)
					list1.append('...')
					break
		return ''.join(list1)

	def updater(self):
		self.x=+1
		if self.obj.courses[self.id_].dummy_items is '':
			return
		else:
			if  self.d_==True:
				child = self.vbox.takeAt(len(self.iFrames))
				if child.widget() is not None:
					child.widget().deleteLater()
				elif child.layout() is not None:
					clearLayout(child.layout())
				self.dframe.deleteLater()
开发者ID:AkshayAgarwal007,项目名称:Moodly,代码行数:70,代码来源:view.py

示例15: StitcherUI

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setVerticalScrollBarPolicy [as 别名]
class StitcherUI(QDialog):
    thread_invoker = pyqtSignal()

    def __init__(self, argv, terminate, parent=None):
        super(StitcherUI, self).__init__(parent)
        self.setWindowTitle("Stitcher Preview")
        st = stitch.Stitcher(argv=argv)
        self.st = st
        #determine the shrink ratio to avoid too huge preview
        preview_ratio = 1.0
        if st.image.shape[1] > 10000:
            preview_ratio = 10000.0 / st.image.shape[1]
        if st.image.shape[0]*preview_ratio > 500:
            preview_ratio = 500.0 / st.image.shape[0]
        self.terminate = terminate
        self.thread = QThread()
        self.thread.start()

        self.worker = Renderer(st=st, preview_ratio=preview_ratio)
        #it might be too early.
        
        #determine the window size
        height,width = st.image.shape[0:2]
        height = int(height*preview_ratio)
        #determine the preview area size
        width = int(width*preview_ratio)

        self.scrollArea = QScrollArea()
        #self.scrollArea.setMaximumHeight(1000)
        self.largecanvas = ExtensibleCanvasWidget(width, height)
        #print(width,height)
        self.worker.frameRendered.connect(self.largecanvas.updatePixmap)
        #Do not close the window when finished.
        #self.worker.finished.connect(self.finishIt)
        self.worker.moveToThread(self.thread)
        self.thread_invoker.connect(self.worker.task)
        self.thread_invoker.emit()

        self.scrollArea.setWidget(self.largecanvas)
        self.scrollArea.setMinimumHeight(500) #self.largecanvas.sizeHint().height())
        self.scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

        self.btnStop = QPushButton('Stop')
        self.btnStop.clicked.connect(lambda: self.worker.stop())
        self.btnStop.clicked.connect(self.terminateIt)
        
        self.progress = QProgressBar(self)
        self.worker.progress.connect(self.progress.setValue)
        
        self.layout = QVBoxLayout()
        self.layout.addWidget(self.btnStop)
        self.layout.addWidget(self.progress)
        self.layout.addWidget(self.scrollArea)
        self.layout.addStretch(1)
        self.setLayout(self.layout)
        

        
    def terminateIt(self):
        self.close()
        if self.terminate:
            sys.exit(1)  #terminated
        
    def finishIt(self):
        self.close()
        
    def closeEvent(self, event):
        self.stop_thread()
        
    def stop_thread(self):
        self.worker.stop()
        self.thread.quit()
        self.thread.wait()
开发者ID:,项目名称:,代码行数:75,代码来源:


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