QT开发中文网

QTC++设置QGraphicsView中添加背景时,图片左上角对齐屏幕左上角

可以通过以下步骤实现:

  1. 设置QGraphicsView的背景为透明:view->setBackgroundBrush(Qt::NoBrush);

  2. 创建一个QPixmap对象来显示背景图片:QPixmap pixmap(":/images/background.png");

  3. 将QPixmap对象作为场景(QGraphicsScene)的背景:scene->setBackgroundBrush(pixmap);

  4. 将场景设置为视图的场景:view->setScene(scene);

  5. 调整视图大小以适应场景尺寸:view->fitInView(view->sceneRect(), Qt::KeepAspectRatio);

  6. 将视图的左上角定位到屏幕的左上角:view->move(0, 0);

完整代码示例:

#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QPixmap>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // 创建场景和视图
    QGraphicsScene *scene = new QGraphicsScene();
    QGraphicsView *view = new QGraphicsView(scene);

    // 设置视图背景透明
    view->setBackgroundBrush(Qt::NoBrush);

    // 加载背景图片
    QPixmap pixmap(":/images/background.png");

    // 将背景图片作为场景的背景
    scene->setBackgroundBrush(pixmap);

    // 设置场景大小和视图大小一致
    scene->setSceneRect(QRectF(QPointF(0, 0), pixmap.size()));

    // 将场景设置为视图的场景
    view->setScene(scene);

    // 调整视图大小以适应场景尺寸
    view->fitInView(view->sceneRect(), Qt::KeepAspectRatio);

    // 将视图的左上角定位到屏幕的左上角
    view->move(0, 0);

    // 显示视图
    view->show();

    return a.exec();
}

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?