Qt給對話框增加背景

下一個項目要用qt來開發,看了幾天的文檔。

來寫一篇給對話框增加背景的一個小例子。

來看一種添加.bmp的圖片。

新建一個對話框程序。繼承CDialogl.

class Dialog : public QDialog
{
    Q_OBJECT
    
public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
    
private:
    Ui::Dialog *ui;
};
我也是最近才自學,有什麼寫的不對的地方,還請指出。謝謝。

說一下,qt5.1已經不支持。

#include <QtGui>
這句話啦。
我來先來定義一個私有的成員變量。QImage _image;
再來定義一個受保護的方法。
protected 
    void resizeEvent(QResizeEvent * event);
好了準備工作已經都做好啦。
    好了,我們先來寫
下來我們往resizeEvent 這個方法裏寫東西。
void Laminator::resizeEvent(QResizeEvent *event)
{
    
    QWidget ::resizeEvent(event);
    QPalette pal(palette());
    pal.setBrush(QPalette::Window,QBrush(_image.scaled(event->size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)));
    setPalette(pal);
下來再寫看一種方法。看看這個效果怎麼樣。
是在paint裏寫。
 void paintEvent(QPaintEvent *);
定義這個方法。
void Dialog::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.drawPixmap(0,0,400,700,QPixmap("E:/psbe.png"));
    或者寫成這樣
    painter.drawPixmap(this->rect(),QPixmap("E:/psbe.png"));
}
這樣寫的化圖片就不可以隨着窗口的大小而改變啦。
還有一促是用樣式表來完成。

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章