Qt中不规则异形窗口的实现目前发现有两种方法
1.针对窗口类的,特别是登陆窗口之类的,如下图所示:
实现方法;在main函数中,加入重要代码:
w.setWindowOpacity(1);//设置透明度,默认是1为全不透明,0为全透明
w.setWindowFlags(Qt::FramelessWindowHint);//设置窗口为无边界
w.setAttribute(Qt::WA_TranslucentBackground);//设置窗口属性为背景半透明
2.针对图标类型的不规则按钮之类例如:
实现方法:可以取掩码
QPixmap pixmap("images/left.png");//这里是一个左箭头
ui->leftButton->setMask(pixmap.mask());//setMask()函数来设置控件掩码,参数是从pixmap中提取的位图掩码pixmap.mask()