在Qt的stackedWidget中的某一页插入图片作为背景的另一种方法

在 Qt 的 QStackedWidget 中插入图片作为背景,你可以遵循以下步骤:

  1. 创建一个自定义的 QWidget:
  • 继承自 QWidget 或任何其他 Qt 控件。
  • 在这个自定义控件中,重写 paintEvent(QPaintEvent *) 方法来绘制背景图片。

      2.在 QStackedWidget 中使用这个自定义控件:

  • 将你的自定义控件添加到 QStackedWidget 的一个页面中。
  • 通过调用 setCurrentIndex 来设置 QStackedWidget 显示的页面。

以下是一个简单的代码示例,展示了如何实现这个功能:

#include 
#include 
#include 
#include 
#include 

class BackgroundWidget : public QWidget {
protected:
    void paintEvent(QPaintEvent *event) override {
        QPainter painter(this);
        QPixmap pixmap(":/path/to/your/image.jpg"); // 替换为你的图片路径
        painter.drawPixmap(0, 0, pixmap);
    }
};

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

    QStackedWidget stackedWidget;
    BackgroundWidget *backgroundWidget = new BackgroundWidget();
    stackedWidget.addWidget(backgroundWidget); // 将背景控件添加到 QStackedWidget 中
    stackedWidget.setCurrentIndex(0); // 设置当前显示的页面索引
    stackedWidget.show();

    return app.exec();
}

在这个示例中,BackgroundWidget 类重写了 paintEvent 方法来绘制背景图片。你需要将图片路径替换为实际的图片路径,并确保图片资源在项目中是可用的。

你可能感兴趣的:(qt,数据库,开发语言)