我想要显示一张汽车照片
加载后,用户可以通过按键盘上的键来移动汽车
当他按下“向上箭头”时,汽车会向上移动
我应该使用哪种方法来显示照片。 Qlabel.setpixmap ??
下面的代码显示了新窗口小部件上的图像,但我想在主窗口页面上显示它
我该怎么办?
谢谢
void MainWindow::showIt()
{
QLabel *image = new QLabel();
image->setPixmap( QPixmap( "car.jpg" ) );
image->show();
update();
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
showIt();
}
答案 0 :(得分:10)
听起来有点像你试图用Qt布局系统编写游戏代码。这不是特别推荐的。
在上面的代码中,您已将图像放在QLabel image
上,但您尚未将QLabel放在主窗口上。最简单的方法是将this
作为第一个参数传递给QLabel构造函数。
如果这种类型的动画是应用程序的重点,我建议使用OpenGL和corresponding class或graphics view系统。
答案 1 :(得分:1)
如果您想使用Qt编写2D游戏 - 请查看QPainter类。例如,如果你想让一个小部件代表你的游戏窗口,你应该从QWidget或它的子类继承它,并重新实现paintEvent(QPaintEvent * event)函数来执行你的绘图。在Qt示例中,您可以使用QPainter找到许多有用的代码。