1、隐藏窗口的标题栏(包括最小化、最大化、关闭按钮)
只需要在构造函数中添加
setWindowFlags(Qt::FramelessWindowHint); 函数即可
2、给按钮添加背景图片
ui->pushButton->setStyleSheet("border-image:url(me.png)");
3、给界面添加背景图片
this->setObjectName("dialog"); //这句话一定要有,不然,整个界面上的控件背景都跟界面背景一样
this->setStyleSheet("QDialog#dialog{border-image:url(me.png)}");
(PS:这个方法对于QWidget类不好使,我也不知道为什么)
4、满屏显示应用程序
this->showFullScreen();
5、将带有背景图片的qt程序移植到开发板
其实很简单,就是在开发板上把图片跟执行文件放一起就可以了,不过是要用png格式的图片,我用JPG格式的显示不了,不知道其他格式的行不行,我还没有试过
6、制作不规则Button
(1)首先添加头文件:#include<QBitmap>
(2)在构造函数内编辑Button
QPixmap pix;
pix.load("chinaz1.png");
ui->pushButton->setFixedSize(pix.size());
ui->pushButton->setMask(pix.mask());
ui->pushButton->setStyleSheet("border-image:url(chinaz1.png)");
(3)其实Mask就像一个面具,它能遮盖原来Button的样子,并让它显示不同的面貌,从而实现一些图片或动态图的显示
7、制作不规则窗口
(1)首先添加头文件:#include<QPainter>和#include<QBitmap>
(2)在头文件中定义公有变量:QPixmap pix
(3)在private中声明函数:void paintEvent(QPaintEvent *e);
(4)在构造函数中添加如下代码:
this->setWindowFlags(Qt::FramelessWindowHint|Qt::WindowMinimizeButtonHint); //隐藏标题栏
this->setAttribute(Qt::WA_TranslucentBackground); //让窗体实现透明
pix.load("123.png");
this->resize(pix.size()); //让窗口的大小跟你的图片大小一样
(5)重写paintEvent(QPaintEvent *e)函数
void Gigdialog::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
painter.drawPixmap(0,0,pix);
}
(6)这样就可以重绘窗口,不规则窗口就可以出现啦