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


Python QScrollArea.resize方法代码示例

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


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

示例1: __init__

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import resize [as 别名]
class StockSourceDisplayPanel:
    def __init__(self,parent,world):
        self.parent = parent
        self.world = world
        self.scrollable_display = 0
        self.button_display = 0
        self.button_list = []
        self.initUI()

    def initUI(self):
        self.scrollable_display = QScrollArea(self.parent)
        self.button_display = QFrame(self.scrollable_display)
        self.scrollable_display.setWidget(self.button_display)
        self.populate_button_list()
        self.scrollable_display.show()
        self.button_display.show()

    def populate_button_list(self):
        stock_list = self.world.get_stock_source_list()
        vbox = QVBoxLayout()
        button_list = []

        i = 0

        for entry in stock_list:
            entry_button = QPushButton(entry.get_name())
            button_list.append(entry_button)
            vbox.addWidget(entry_button)
            entry_button.clicked.connect(functools.partial(self.parent.stockUI,i,stock_target=entry.get_stock()))
            i += 1

        vbox.addStretch(1)
        self.button_display.setLayout(vbox)
        self.resize()

    def destroy(self):
        self.scrollable_display.hide()
        self.button_display.hide()
        self.parent.resize(self.parent.size())
        self.button_display.destroy(False, False)
        self.scrollable_display.destroy(False, False)

    def resize(self):
        self.scrollable_display.resize(self.parent.size())
        frameWidth = self.scrollable_display.lineWidth()
        self.button_display.resize(self.scrollable_display.size().width()-(frameWidth*2),self.scrollable_display.size().height()-(frameWidth*2))
开发者ID:wanderso,项目名称:LogisticsSimulator,代码行数:48,代码来源:LogisticsWindow.py

示例2: EditWindow

# 需要导入模块: from PyQt5.QtWidgets import QScrollArea [as 别名]
# 或者: from PyQt5.QtWidgets.QScrollArea import resize [as 别名]
class EditWindow(QWidget):
    """ Window for adding reminders.

    Useful attributes
    -----------------
    parentWindow : MainWindow object
        Parent of the window.
    taskArea : QScrollArea object
        Scroll area of window.
    rows : list of dictionaries
        Element of rows is a dictionary:
            {'date', 'text', 'edit', 'del'}.
        'date' and 'text' are QLabels,
        'edit' and 'del' are QPushButtons.
        Such dictionary represents one element from tasks list.
    grid : QGridLayout object
        Layout of objects in QScrollArea.
    activeTasks : list
        List of visible tasks in grid.
    filter : QHBoxLayout object
        Layout of filter widgets.
    (date|text)Field : QLineEdit object
        Filter widgets.

    """
    def __init__(self, parent=None):
        super().__init__()
        self.parentWindow = parent
        self.parentWindow.editActive = True
        self.activeTasks = tasks
        self.dateFieldText = ''
        self.textFieldText = ''
        self.initUI()

    def initUI(self):
        """ Init user interface. """
        # use QVBoxLayout to store two layouts vertically
        self.vl = QVBoxLayout()

        # widget for scrollArea
        self.topWidget = QWidget()
        self.grid = QGridLayout()
        self.topWidget.setLayout(self.grid)
        self.vl.addWidget(self.topWidget)

        # layout for filter
        self.filter = QHBoxLayout()
        # draw filter widgets
        self.drawFilter()
        spacer = QSpacerItem(10, 0, vPolicy=QSizePolicy.MinimumExpanding)
        self.vl.addItem(spacer)
        self.vl.addLayout(self.filter)

        self.setLayout(self.vl)
        self.rows = []

        self.taskArea = QScrollArea(self)
        self.taskArea.setWidget(self.topWidget)
        self.taskArea.setWidgetResizable(True)
        self.taskArea.resize(500, 350)
        self.resize(500, 395)
        self.setMinimumSize(460, 90)
        self.filterApply()
        self.show()
        self.move(QApplication.desktop().screen().rect().center() -
                  self.rect().center())
        self.setWindowTitle(conf.lang.EDIT_TITLE)
        iconEdit = Icon(byte=icons.edit).convertToIcon().getIcon()
        self.setWindowIcon(iconEdit)

    def drawFilter(self):
        """ Draws filter widgets. """
        clearLayout(self.filter)

        self.hideBtn = QPushButton()
        if conf.filter:
            self.hideBtn.setText(conf.lang.VISIBLE_F)
            self.hideBtn.setFixedSize(23, 23)
            self.vl.setContentsMargins(11, 11, 11, 11)
        else:
            self.hideBtn.setText(conf.lang.HIDDEN_F)
            self.hideBtn.setFixedSize(23, 15)
            self.vl.setContentsMargins(0, 0, 0, 0)
        self.hideBtn.clicked.connect(self.inverseFilter)
        self.filter.addWidget(self.hideBtn)
        if conf.filter:
            filterLbl = QLabel(conf.lang.FILTER)
            filterLbl.setStyleSheet('QLabel {' \
                                            'border-width: 0 1px 0 0;' \
                                            'border-style: solid;' \
                                            'border-color: black;' \
                                            'margin: 0 5px 0 0;' \
                                           '}')
            self.filter.addWidget(filterLbl)

            dateLbl = QLabel(conf.lang.DATE_F)
            self.filter.addWidget(dateLbl)
            self.dateField = QLineEdit()
            self.dateField.setText(self.dateFieldText)
            self.filter.addWidget(self.dateField)
#.........这里部分代码省略.........
开发者ID:illaech,项目名称:eventer,代码行数:103,代码来源:eventer.py


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