2010-05-13 8 views
1

Я хочу поместить фоновое изображение в mt QWidget, может ли кто-нибудь помочь мне на .Ovveride, the paintevent of Qwidget

как Ovveride, то paintevent от QWidget и нарисовать изображение там

ответ

1

Вот что вам нужно:

#include <QApplication> 
#include <QGridLayout> 
#include <QWidget> 

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

    QWidget widget(0); 
    widget.setStyleSheet("background-image: url(1.PNG)"); 

    QGridLayout *leftLayout = new QGridLayout(); 
    leftLayout->setSpacing (0); 

    widget.setLayout(leftLayout); 

    widget.show(); 
    return app.exec(); 
} 

Где 1.PNG является изображение, расположенное в той же директории приложение.

+0

Есть ли другой способ, который не связан с CSS (в идеале тот, который использует встроенные ресурсы?) – Adam

+0

(я бы изложил свой вопрос, но задание подобных вопросов не одобряется) – Adam

+2

@ advs89 Думаю, вы говорите о qrc file ... Так что это не проблема: * widget.setStyleSheet («background-image: url (:/images/1.PNG)»); *, где *:/images/1.PNG * - встроенный ресурс файл. После этого вам нужно только добавить информацию о 1.PNG в файл res.qrc ... – mosg