0

我有方法draw(Graphics g)

public void draw(Graphics g){
    switch(id){
        default:
            System.out.println("Please enter a valid id in contructor");
            break;
        case 1:
            g.setColor(Color.WHITE);
            g.fillRect(paddle.x, paddle.y, paddle.width, paddle.height);
            break;
        case 2:
            g.setColor(Color.LIGHT_GRAY);
            g.fillRect(paddle.x, paddle.y, paddle.width, paddle.height);
            break;
    }
}

如何为 QT 重写它?或者我应该改用什么方法(就像keyReleased(KeyEvent e)Java中的方法keyReleaseEvent(QKeyEvent *e)在QT中一样)?

4

1 回答 1

1

这取决于你在画什么。

如果您正在绘制 a QWidget,则可能是QWidget::paintEvent()

如果你在画 a QGraphicsItem,它应该是 aQGraphicsItem::paint()

此外,这些方法采用不同类型的参数。它可以分别是aQPaintEvent或a QPainter。请参考相应的文档

于 2013-02-09T20:38:26.027 回答