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


Python QWidget.geometry方法代码示例

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


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

示例1: DialogContainer

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

    def __init__(self, parent):
        QWidget.__init__(self, parent)

        self.setStyleSheet("background-color: rgba(30, 30, 30, 0.75);")

        self.dialog_widget = QWidget(self)

        self.window().resize_event.connect(self.on_main_window_resize)

    def paintEvent(self, _):
        opt = QStyleOption()
        opt.initFrom(self)
        painter = QPainter(self)
        self.style().drawPrimitive(QStyle.PE_Widget, opt, painter, self)

    def close_dialog(self):
        try:
            self.setParent(None)
            self.deleteLater()
        except RuntimeError:
            pass

    def on_main_window_resize(self):
        if not self or not self.parentWidget():
            return

        self.setFixedSize(self.parentWidget().size())
        self.dialog_widget.setFixedWidth(self.width() - 100)
        self.dialog_widget.move(QPoint(self.geometry().center().x() - self.dialog_widget.geometry().width() / 2,
                                       self.geometry().center().y() - self.dialog_widget.geometry().height() / 2))
开发者ID:synctext,项目名称:tribler,代码行数:34,代码来源:dialogcontainer.py

示例2: __init__

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import geometry [as 别名]
    def __init__(self, parent: QtWidgets.QWidget, content, fade_duration=2000, stay_duration=2000,
                 position_constraint: RelativeLayoutConstraint = None):
        """

        :param parent: parent widget (QWidget)
        :param content: either a widget or a string (is then placed into a QLabel widget) style it with stylesheet
        and modifier 'notification'
        :param fade_duration: duration of fade in/out in ms
        :param stay_duration: duration of stay in ms (if 0 stays forever)
        :param position_constraint: a RelativeLayoutConstraint to be used with method calculate_relative_position()
        """
        super().__init__()

        # create a clickable widget as standalone window and without a frame
        self.widget = ClickableWidget(parent, QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint)

        # widget must be translucent, otherwise when setting semi-transparent background colors
        self.widget.setAttribute(QtCore.Qt.WA_TranslucentBackground)

        # connect widget clicked signal to our clicked signal
        self.widget.clicked.connect(self.clicked.emit)

        # replace content by QLabel if content is a string
        if isinstance(content, str):
            content = QtWidgets.QLabel(content)
            content.setObjectName('notification-label')

        # set background
        layout = QtWidgets.QVBoxLayout(self.widget)
        layout.setContentsMargins(0, 0, 0, 0)
        layout.addWidget(content)

        # fade animation
        self.fade = FadeAnimation(self.widget)
        self.fade.set_duration(fade_duration)

        # fading out and waiting for fading out makes only sense if a positive stay_duration has been given
        if stay_duration > 0:
            # when fade out has finished, emit finished
            self.fade.fadeout_finished.connect(self.finished.emit)

            # timer for fading out animation
            self.timer = QtCore.QTimer()
            self.timer.setSingleShot(True)
            self.timer.setInterval(stay_duration)
            self.timer.timeout.connect(self.fade.fadeout)

            # start the timer as soon as the fading in animation has finished
            self.fade.fadein_finished.connect(self.timer.start)

        # if given, set a position
        if parent is not None and position_constraint is not None:
            x, y = calculate_relative_position(parent.geometry(), content.sizeHint(), position_constraint)
            self.widget.move(QtCore.QPoint(x, y))
开发者ID:Trilarion,项目名称:imperialism-remake,代码行数:56,代码来源:qt.py

示例3: DialogContainer

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

    def __init__(self, parent):
        super(QWidget, self).__init__(parent)

        self.setStyleSheet("background-color: rgba(30, 30, 30, 0.75);")

        self.dialog_widget = QWidget(self)

        self.window().resize_event.connect(self.on_main_window_resize)

    def paintEvent(self, event):
        opt = QStyleOption()
        opt.initFrom(self)
        painter = QPainter(self)
        self.style().drawPrimitive(QStyle.PE_Widget, opt, painter, self)

    def on_main_window_resize(self):
        self.setFixedSize(self.parentWidget().size())
        self.dialog_widget.setFixedWidth(self.width() - 100)
        self.dialog_widget.move(QPoint(self.geometry().center().x() - self.dialog_widget.geometry().width() / 2,
                         self.geometry().center().y() - self.dialog_widget.geometry().height() / 2))
开发者ID:devos50,项目名称:TriblerGUI,代码行数:24,代码来源:dialogcontainer.py

示例4: print

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import geometry [as 别名]
btn.move(20, 20)   
#不同操作系统可能对窗口最小宽度有规定,若设置宽度小于规定值,则会以规定值进行显示
widget.resize(300, 200) 
#以屏幕左上角为(0, 0)点
widget.move(250, 200)

widget.setWindowTitle('PyQt坐标系统例子')
widget.show()
print("#1 QWidget")
print("widget.x()=%d" % widget.x() )
print("widget.y()=%d" % widget.y() )
print("widget.width()=%d" % widget.width() )
print("widget.height()=%d" % widget.height() )

print("#2 QWidget.geometry")
print("widget.geometry().x()=%d" %  widget.geometry().x() )
print("widget.geometry().y()=%d" %  widget.geometry().y() )
print("widget.geometry().width()=%d" %  widget.geometry().width() )
print("widget.geometry().height()=%d" %  widget.geometry().height() )
print("widget.size().width() =%d" %  widget.size().width() )
print("widget.size().height() =%d" %  widget.size().height() )

print("#3 QWidget.frameGeometry")
print("widget.frameGeometry().width()=%d" %  widget.frameGeometry().width() )
print("widget.frameGeometry().height()=%d" %  widget.frameGeometry().height() )
print("widget.pos().x()=%d" %  widget.pos().x() )
print("widget.pos().y()=%d" %  widget.pos().y() )

sys.exit(app.exec_())  

开发者ID:kiorry,项目名称:PYQT,代码行数:31,代码来源:qt401_widgetGeometry.py


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