我有方法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重写它?还是应该改用哪种方法(例如Java中的
keyReleased(KeyEvent e)
方法在QT中是keyReleaseEvent(QKeyEvent *e)
)? 最佳答案
这取决于您要绘制的内容。
如果您正在绘制QWidget
,则可能是QWidget::paintEvent()
如果要绘制QGraphicsItem
,则应为QGraphicsItem::paint()
同样,这些方法采用不同类型的参数。它可以分别是QPaintEvent
或QPainter
。请参考相应的文档