下一個項目要用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"));
}這樣寫的化圖片就不可以隨着窗口的大小而改變啦。
還有一促是用樣式表來完成。