Qt设置Icon和背景图片

来源:互联网 发布:linux父目录和子目录 编辑:程序博客网 时间:2024/05/22 01:31
QApplication a(argc,argv);
    MainWindow w;
    w.show();
    w.setWindowTitle("可控震源高效正演模拟软件");
    w.setWindowIcon(QIcon(":/Icon.png"));
    QPixmap pixmap(":/Icon.png");
    w.setAutoFillBackground(true);
    QPalette palette;
    palette.setBrush(QPalette::Background,QBrush(pixmap));
    w.setPalette(palette);
    return a.exec();以上程序段是存在问题的,所添加的背景图片如下所示:
Qt中设置窗口图标及背景图片程序段 - John-waindinger - 微晕的树林

 难看哭了,不如用下面的painterevent添加:

主函数头文件里:
voidpaintEvent(QPaintEvent*e);
void MainWindow::paintEvent(QPaintEvent*e)
{
    int he,wid,hb,wb;
    he=MainWindow::height();
    wid=MainWindow::width();
    hb=50;wb=5;
    QPainter paint(this);
    QPixmap pic(":/Icon.png");
    QPixmap paintmap(wid,he-hb);
    QPainter pen(&paintmap);
    pen.drawPixmap(0,0,wid,he-hb,pic);
    paint.drawPixmap(0,hb,paintmap);
}这里的主要思想是:1、先设置一块画布:paintmap
2、在画布上设置画笔:pen(&paintmap)
3、画笔在画布上作图,注意这时的起始点;
4、在窗口上做图,把画布画上。
这样就不会出现上面的情况了:
Qt中设置窗口图标及背景图片程序段 - John-waindinger - 微晕的树林
0 0