QT窗体背景透明
如果想要背景透明,可以有但不限于以下三种方法:
1.setWindowOpacity()函数。但是该函数会让整个窗体透明。
2.setAttribute(Qt::WA_TranslucentBackground, true);
该函数使用之后会出现黑色的widget窗口。但是QPushButton控件等会保留原有的样子。QLabel会只出现字。
3.setStyleSheet(“background:rgba(255,0,0,255);”);a为设置透明度。如果样式表不加限制,默认设置的控件上的子控件都会有设置的样式相同。#ObjectName{background:rgb(0,0,0,0)}为加限制的,只适用于ObjectName。
如果要实现真正意义上的背景透明,需加上去除标题栏函数:
setWindowFlags(Qt::FramelessWindowHint);
该函数与setAttribute(Qt::WA_TranslucentBackground, true);一同使用则可以达到使用的窗口透明。
默认情况下。继承QWidget或QDialog类的子类,都是有一个潜在的Widget/Dialog窗口的,即我们新建一个QT带界面的工程,是可以显示出界面的。
推荐在默认的类中在new一个QWidget/QDialog控件。设置大小与this相同。