PythonとQtを使用してGUIに矩形を描画する方法について説明します。ここでは、QtのQRect
クラスとQPainter
クラスを使用して矩形を描画します。
QRectクラス
QRect
クラスは、平面上の矩形を整数精度で定義します。矩形の座標を返す関数や、矩形を操作する関数が提供されています。
r1 = QRect(100, 200, 11, 16)
r2 = QRect(QPoint(100, 200), QSize(11, 16))
上記のコードは、左上の角とサイズを指定して2つの同一の矩形を作成します。
QPainterクラス
QPainter
クラスを使用して、矩形を描画します。以下に、マウスのドラッグ&ドロップで矩形を描画し、その形状を調整する例を示します。
class MyWidget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.setGeometry(30,30,600,400)
self.begin = QtCore.QPoint()
self.end = QtCore.QPoint()
self.show()
def paintEvent(self, event):
qp = QtGui.QPainter(self)
br = QtGui.QBrush(QtGui.QColor(100, 10, 10, 40))
qp.setBrush(br)
qp.drawRect(QtCore.QRect(self.begin, self.end))
def mousePressEvent(self, event):
self.begin = event.pos()
self.end = event.pos()
self.update()
def mouseMoveEvent(self, event):
self.end = event.pos()
self.update()
def mouseReleaseEvent(self, event):
self.begin = event.pos()
self.end = event.pos()
self.update()
このコードでは、マウスの左ボタンが押されたときに矩形の描画を開始し、マウスをドラッグしながら矩形の形状を調整し、マウスの左ボタンが離されたときに矩形の形状を確定します。
以上がPythonとQtを使用して矩形を描画する基本的な方法です。これらのクラスとメソッドを組み合わせることで、さまざまな形状やパターンの矩形を描画することが可能です。