本文整理汇总了Python中PyQt5.QtWidgets.QScrollArea.setWidget方法的典型用法代码示例。如果您正苦于以下问题:Python QScrollArea.setWidget方法的具体用法?Python QScrollArea.setWidget怎么用?Python QScrollArea.setWidget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QScrollArea
的用法示例。
在下文中一共展示了QScrollArea.setWidget方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
def __init__(self, parent):
super().__init__(None,
Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowMinMaxButtonsHint)
self.setAttribute(Qt.WA_DeleteOnClose)
main_layout = QVBoxLayout(self)
self.parent_widget = parent
self.url_inserter = QLineEdit()
self.url_inserter.setPlaceholderText("Hover to see supported URLs")
self.url_inserter.setToolTip(gui_constants.SUPPORTED_DOWNLOAD_URLS)
self.url_inserter.setToolTipDuration(999999999)
self.url_inserter.returnPressed.connect(self.add_download_entry)
main_layout.addWidget(self.url_inserter)
self.info_lbl = QLabel(self)
self.info_lbl.setAlignment(Qt.AlignCenter)
main_layout.addWidget(self.info_lbl)
self.info_lbl.hide()
buttons_layout = QHBoxLayout()
clear_all_btn = QPushButton('Clear List')
clear_all_btn.adjustSize()
clear_all_btn.setFixedWidth(clear_all_btn.width())
buttons_layout.addWidget(clear_all_btn, 0, Qt.AlignRight)
main_layout.addLayout(buttons_layout)
self.download_list = GalleryDownloaderList(parent.manga_list_view.sort_model, self)
clear_all_btn.clicked.connect(self.download_list.clear_list)
download_list_scroll = QScrollArea(self)
download_list_scroll.setBackgroundRole(self.palette().Base)
download_list_scroll.setWidgetResizable(True)
download_list_scroll.setWidget(self.download_list)
main_layout.addWidget(download_list_scroll, 1)
close_button = QPushButton('Close', self)
close_button.clicked.connect(self.hide)
main_layout.addWidget(close_button)
self.resize(480,600)
self.setWindowIcon(QIcon(gui_constants.APP_ICO_PATH))
示例2: __init__
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
class Ui:
def __init__(self, app):
self._app = app
self._layout = QVBoxLayout(app)
self._bottom_layout = QHBoxLayout()
self._top_separator = Separator(parent=app)
self._splitter = QSplitter(app)
if use_mac_theme():
self._splitter.setHandleWidth(0)
# NOTE: 以位置命名的部件应该只用来组织界面布局,不要
# 给其添加任何功能性的函数
self.top_panel = TopPanel(app, app)
self._left_panel_container = QScrollArea(self._app)
self._left_panel_container.setWidgetResizable(True)
self.left_panel = LeftPanel(self._app, self._splitter)
self._left_panel_container.setWidget(self.left_panel)
self.right_panel = RightPanel(self._app, self._splitter)
# alias
self.pc_panel = self.top_panel.pc_panel
self.table_container = self.right_panel.table_container
self.magicbox = MagicBox(self._app)
# 对部件进行一些 UI 层面的初始化
self._splitter.addWidget(self._left_panel_container)
self._splitter.addWidget(self.right_panel)
self.right_panel.setMinimumWidth(780)
self._left_panel_container.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Expanding)
self.right_panel.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
if use_mac_theme():
self._layout.addWidget(self.magicbox)
self._layout.addWidget(self._splitter)
self._layout.addWidget(self._top_separator)
self._layout.addWidget(self.top_panel)
else:
self._layout.addWidget(self.top_panel)
self._layout.addWidget(self._top_separator)
self._layout.addWidget(self._splitter)
self._layout.addWidget(self.magicbox)
# self._layout.addLayout(self._bottom_layout)
# self._bottom_layout.addWidget(self.magicbox)
self._layout.setSpacing(0)
self._layout.setContentsMargins(0, 0, 0, 0)
self.top_panel.layout().setSpacing(0)
self.top_panel.layout().setContentsMargins(0, 0, 0, 0)
self.pc_panel.playlist_btn.clicked.connect(self.show_player_playlist)
self._app.hotkey_manager.registe(
[QKeySequence('Ctrl+F'), QKeySequence(':'), QKeySequence('Alt+x')],
self.magicbox.setFocus
)
def show_player_playlist(self):
songs = self._app.playlist.list()
self.table_container.show_player_playlist(songs)
示例3: addItem
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
def addItem(self, tool, text): # =========================================
N = self.layout().rowCount()
# Add Header :
head = QPushButton(text)
head.setIcon(self.__iclosed)
head.clicked.connect(self.__isClicked__)
head.setStyleSheet("QPushButton {text-align:left;}")
self.layout().addWidget(head, N-1, 0)
# Add Item in a ScrollArea :
scrollarea = QScrollArea()
scrollarea.setFrameStyle(0)
scrollarea.hide()
scrollarea.setStyleSheet("QScrollArea {background-color:transparent;}")
scrollarea.setWidgetResizable(True)
tool.setObjectName("myViewport")
tool.setStyleSheet("#myViewport {background-color:transparent;}")
scrollarea.setWidget(tool)
self.layout().addWidget(scrollarea, N, 0)
self.layout().setRowStretch(N+1, 100)
示例4: QTextInputDialog
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
class QTextInputDialog(QDialog):
def __init__(self, initial='', parent=None):
super().__init__(parent)
self.setWindowModality(QtCore.Qt.ApplicationModal)
self.setMaximumSize(400, 230)
self.setMinimumSize(400, 230)
self.resize(400, 230)
self.scrollArea = QScrollArea(self)
self.scrollArea.setGeometry(QtCore.QRect(5, 5, 390, 190))
self.scrollArea.setWidgetResizable(True)
self.plainTextEdit = QPlainTextEdit()
self.plainTextEdit.setGeometry(QtCore.QRect(0, 0, 390, 190))
self.plainTextEdit.setPlainText(initial)
self.scrollArea.setWidget(self.plainTextEdit)
self.acceptButton = QPushButton(self)
self.acceptButton.setGeometry(QtCore.QRect(280, 200, 100, 25))
self.acceptButton.setText("Ok")
self.rejectButton = QPushButton(self)
self.rejectButton.setGeometry(QtCore.QRect(160, 200, 100, 25))
self.rejectButton.setText("Cancel")
self.rejectButton.clicked.connect(self.reject)
self.acceptButton.clicked.connect(self.accept)
示例5: _initialize
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
def _initialize(self):
## self.paramTPerm = self.field("paramTPerm")
self.tabs.clear()
self.total_answers = 0
self.radioGroups = {}
filas = self.paramNPerm
for x in range(filas):
mygroupbox = QScrollArea()
mygroupbox.setWidget(QWidget())
mygroupbox.setWidgetResizable(True)
myform = QHBoxLayout(mygroupbox.widget())
cols = self.paramNCols.split(',')
ansID = 0
radioGroupList = {}
for col in cols:
mygroupboxCol = QGroupBox()
myformCol = QFormLayout()
mygroupboxCol.setLayout(myformCol)
for y in range(int(col)):
ansID += 1
radioGroupList[ansID] = QButtonGroup()
layoutRow = QHBoxLayout()
for j in range(self.paramNAlts):
myradio = QRadioButton(chr(97+j).upper())
layoutRow.addWidget(myradio)
radioGroupList[ansID].addButton(myradio)
self.total_answers += 1
myformCol.addRow(str(ansID), layoutRow)
myform.addWidget(mygroupboxCol)
self.radioGroups[chr(97+x).upper()] = radioGroupList
self.tabs.addTab(mygroupbox, _('Model ') + chr(97+x).upper())
示例6: initView
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
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
示例7: createDialogCenterWidget
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
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
示例8: initUI
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
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)
示例9: __init__
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
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")
示例10: __init__
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
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")
示例11: update
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
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)
示例12: __init__
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
def __init__(self, tup_gallery, parent = None, menu = None):
super().__init__(parent)
self.setMaximumWidth(16777215)
assert isinstance(tup_gallery, tuple), "Incorrect type received, expected tuple"
assert isinstance(tup_gallery[0], str) and isinstance(tup_gallery[1], list)
main_layout = QVBoxLayout()
# todo make it scroll
scroll_area = QScrollArea()
dummy = QWidget()
self.gallery_layout = misc.FlowLayout(dummy)
scroll_area.setWidgetResizable(True)
scroll_area.setMaximumHeight(400)
scroll_area.setMidLineWidth(620)
scroll_area.setBackgroundRole(scroll_area.palette().Shadow)
scroll_area.setFrameStyle(scroll_area.NoFrame)
scroll_area.setWidget(dummy)
text = tup_gallery[0]
galleries = tup_gallery[1]
main_layout.addWidget(scroll_area, 3)
for g in galleries:
gall_w = misc.GalleryShowcaseWidget(parent=self, menu=menu())
gall_w.set_gallery(g, (170//1.40, 170))
gall_w.double_clicked.connect(self.gallery_doubleclicked.emit)
self.gallery_layout.addWidget(gall_w)
text_lbl = QLabel(text)
text_lbl.setAlignment(Qt.AlignCenter)
main_layout.addWidget(text_lbl)
main_layout.addLayout(self.buttons_layout)
self.main_widget.setLayout(main_layout)
self.setMaximumHeight(500)
self.setMaximumWidth(620)
self.resize(620, 500)
self.show()
示例13: widgetImage
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
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
示例14: initUI
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
def initUI(self):
self.setWindowTitle('Twitter Client')
self.setWindowIcon(QIcon("twitter.svg"))
QIcon.setThemeName("Adwaita")
lay = QVBoxLayout(self)
scr = QScrollArea(self)
scr.setWidgetResizable(True)
scr.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
lay2 = QVBoxLayout()
self.setLayout(lay)
placehold = QWidget()
lay.addWidget(scr)
scr.setWidget(placehold)
placehold.setLayout(lay2)
self.lay = lay2
lay2.setSpacing(0)
lay.setSpacing(0)
lay.setContentsMargins(0, 0, 0, 0)
but = QPushButton("Refresh")
lay.addWidget(but)
but.pressed.connect(self.fetch_tweets)
self.show()
示例15: _create_translators_tab
# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import setWidget [as 别名]
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