\

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を使用して矩形を描画する基本的な方法です。これらのクラスとメソッドを組み合わせることで、さまざまな形状やパターンの矩形を描画することが可能です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です