QT开发中文网

QGraphicsView 案例

以下是一个使用QGraphicsView的简单案例,用于显示多个图形:

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *


class GraphicsScene(QGraphicsScene):
    def __init__(self, parent=None):
        super().__init__(parent)

        # 添加圆形
        ellipse1 = self.addEllipse(0, 0, 50, 50)
        ellipse1.setBrush(QBrush(Qt.red))
        ellipse2 = self.addEllipse(50, 50, 50, 50)
        ellipse2.setBrush(QBrush(Qt.green))
        ellipse3 = self.addEllipse(100, 100, 50, 50)
        ellipse3.setBrush(QBrush(Qt.blue))


class GraphicsView(QGraphicsView):
    def __init__(self, parent=None):
        super().__init__(parent)

        # 设置scene和viewport
        self.setScene(GraphicsScene())
        self.setRenderHint(QPainter.Antialiasing)
        self.setViewportUpdateMode(QGraphicsView.FullViewportUpdate)
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)


class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)

        # 添加QGraphicsView
        view = GraphicsView()
        self.setCentralWidget(view)
        self.setWindowTitle('Graphics View Example')


if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

运行此代码将显示一个窗口,其中包含三个不同颜色的圆。可以通过拖动鼠标来移动视图并缩放视图。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=712

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?