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


Python QProgressBar.setMinimumSize方法代码示例

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


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

示例1: ShipHp

# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimumSize [as 别名]
class ShipHp(QWidget):
    def __init__(self, parent):
        super(ShipHp, self).__init__(parent)
        self.vbox = QVBoxLayout()
        self.vbox.setSpacing(0)
        self.vbox.setContentsMargins(0,3,0,3)

        self.setLayout(self.vbox)
        self.hp = QLabel(self)
        #self.hp.setMinimumSize(QSize(0, 50))
        self.vbox.addWidget(self.hp)

        self.hp_bar = QProgressBar(self)
        self.vbox.addWidget(self.hp_bar)
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        self.hp_bar.setSizePolicy(sizePolicy)
        self.hp_bar.setMinimumSize(QSize(100, 10))
        self.hp_bar.setMaximumSize(QSize(100, 10))

        self.vbox.addItem(QSpacerItem(40, 20,
                                      QSizePolicy.Minimum,
                                      QSizePolicy.Expanding))

    def set_hp(self, hp, maxhp):
        self.hp.setText(HP_FORMAT.format(hp, maxhp))
        self.hp_bar.setValue(hp*100/maxhp)
        self.hp_bar.setFormat('')
        rate = float(hp) / float(maxhp)
        if rate <= 0.25:
            self.setProperty('damage', 'serious')
        elif rate <= 0.50:
            self.setProperty('damage', 'middle')
        elif rate <= 0.75:
            self.setProperty('damage', 'slight')
        else:
            self.setProperty('damage', 'none')

        self.style().unpolish(self.hp_bar)
        self.style().polish(self.hp_bar)
        self.update()

    # for apply stylesheet
    def paintEvent(self, pe):
        opt = QStyleOption()
        opt.initFrom(self)
        p = QPainter(self)
        s = self.style()
        s.drawPrimitive(QStyle.PE_Widget, opt, p, self)
开发者ID:papamitra,项目名称:kcviewer_py3,代码行数:50,代码来源:shipstatus.py

示例2: FuelBulletMeter

# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimumSize [as 别名]
class FuelBulletMeter(QWidget):
    def __init__(self, parent):
        super(FuelBulletMeter, self).__init__(parent)

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

        self.setLayout(self.vbox)

        self.fuel_bar = QProgressBar(self)
        self.vbox.addWidget(self.fuel_bar)

        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        self.fuel_bar.setSizePolicy(sizePolicy)
        self.fuel_bar.setMinimumSize(QSize(80, 10))
        self.fuel_bar.setMaximumSize(QSize(80, 10))

        self.bullet_bar = QProgressBar(self)
        self.vbox.addWidget(self.bullet_bar)
        self.bullet_bar.setSizePolicy(sizePolicy)
        self.bullet_bar.setMinimumSize(QSize(80, 10))
        self.bullet_bar.setMaximumSize(QSize(80, 10))

    def _set_bar(self, widget, rate, state):
        widget.setValue(int(rate*100))
        widget.setFormat('')
        widget.setProperty('amount', state)

        self.style().unpolish(widget)
        self.style().polish(widget)

    def set_val(self, ship):
        self._set_bar(self.fuel_bar, ship.fuel_rate(), ship.fuel_state())
        self._set_bar(self.bullet_bar, ship.bull_rate(), ship.bull_state())

    # for apply stylesheet
    def paintEvent(self, pe):
        opt = QStyleOption()
        opt.initFrom(self)
        p = QPainter(self)
        s = self.style()
        s.drawPrimitive(QStyle.PE_Widget, opt, p, self)
开发者ID:papamitra,项目名称:kcviewer_py3,代码行数:45,代码来源:shipstatus.py


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