PySide(PyQT)的contains() 方法
在 PySide中,contains()
方法主要用于判断点、矩形或其他区域是否包含在某个特定的矩形或区域内
1. QRect
类的 contains()
方法
功能解释
QRect
类用于表示一个矩形区域,其 contains()
方法用于检查指定的点或者另一个矩形是否位于当前矩形内部。该方法有多个重载形式。
语法
contains(x: int, y: int) -> bool
:检查指定的点(x, y)
是否在矩形内部。contains(point: QPoint) -> bool
:检查QPoint
对象表示的点是否在矩形内部。contains(other: QRect) -> bool
:检查另一个矩形other
是否完全包含在当前矩形内部。
示例代码
import sys
from PySide6.QtCore import QRect, QPoint
from PySide6.QtWidgets import QApplication
app = QApplication(sys.argv)
# 创建一个矩形
rect = QRect(10, 10, 100, 100)
# 检查点是否在矩形内
point = QPoint(200, 200)
if rect.contains(point):
print(f"点 {point} 在矩形 {rect} 内")
else:
print(f"点 {point} 不在矩形 {rect} 内")
# 检查另一个矩形是否在当前矩形内
other_rect = QRect(20, 20, 50, 50)
if rect.contains(other_rect):
print(f"矩形 {other_rect} 在矩形 {rect} 内")
else:
print(f"矩形 {other_rect} 不在矩形 {rect} 内")
sys.exit(app.exec())
2. QRegion
类的 contains()
方法
功能解释
QRegion
类表示一个任意形状的区域,contains()
方法用于检查指定的点、矩形或者另一个区域是否位于当前区域内部。
语法
contains(x: int, y: int) -> bool
:检查指定的点(x, y)
是否在区域内部。contains(point: QPoint) -> bool
:检查QPoint
对象表示的点是否在区域内部。contains(rect: QRect) -> bool
:检查QRect
对象表示的矩形是否完全包含在当前区域内部。contains(other: QRegion) -> bool
:检查另一个QRegion
对象表示的区域是否完全包含在当前区域内部。
示例代码
import sys
from PySide6.QtCore import QRect, QPoint, QRegion
from PySide6.QtWidgets import QApplication
app = QApplication(sys.argv)
# 创建一个区域
region = QRegion(QRect(10, 10, 100, 100))
# 检查点是否在区域内
point = QPoint(20, 20)
if region.contains(point):
print(f"点 {point} 在区域 {region} 内")
else:
print(f"点 {point} 不在区域 {region} 内")
# 检查矩形是否在区域内
rect = QRect(20, 20, 50, 50)
if region.contains(rect):
print(f"矩形 {rect} 在区域 {region} 内")
else:
print(f"矩形 {rect} 不在区域 {region} 内")
sys.exit(app.exec())