本文整理汇总了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)
示例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)
示例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()
示例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
示例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()
示例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)
示例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
#.........这里部分代码省略.........
示例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
#.........这里部分代码省略.........
示例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
#.........这里部分代码省略.........
示例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) \
#.........这里部分代码省略.........
示例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])
#.........这里部分代码省略.........
示例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)):
#.........这里部分代码省略.........
示例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
示例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()
示例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()