代码之家  ›  专栏  ›  技术社区  ›  trante

Qt:在小部件上显示图像

  •  8
  • trante  · 技术社区  · 14 年前

    我想展示一张汽车照片。
    加载后,用户可以通过按键盘上的键来移动汽车。

    我应该用哪种方法来展示照片。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();
    }
    
    2 回复  |  直到 14 年前
        1
  •  10
  •   jkerian    10 年前

    在上面的代码中,您已经将图像放在QLabel上 image ,但您还没有将QLabel放在主窗口上。最简单的方法就是通过 this

    如果这种类型的动画是整个应用程序的重点,我建议使用OpenGL和 corresponding class ,或 graphics view 系统。

        2
  •  1
  •   Andrew    14 年前

    如果你想写一个二维游戏,使用Qt-看看qpanter类。例如,如果你想让一个小部件代表你的游戏窗口,你应该从一个QWidget或者它的子类和重新实现paintEvent(QPaintEvent*event)函数继承它来执行绘图。在Qt示例中,您可以找到许多有用的使用QPainter进行绘图的代码。