自定义部件和窗体
盒子模型
每个部件都可以看成是4个矩形,从内至外:内容、填衬、边框、边距。
各个部分属性为0时,4个矩形重合。
样式表可以存在.qss文件中,可以使用以下方式实现变换式样。
if(qssFile->fileName() == ":/qss/my.qss")
qssFile->setFileName(":/qss/my1.qss");
else qssFile->setFileName(":/qss/my.qss");
qssFile->open(QFile::ReadOnly);
QString styleSheet = tr(qssFile->readAll());
qApp->setStyleSheet(styleSheet);
qssFile->close();
不规则窗口
详见setMask(const QRegion ®ion)函数。
透明窗体
在设置窗口背景色时指定alpha值即可
例如:
QPushButton{background-color:rgba(255,255,255,100)}
但是这种方式不能设置顶级部件的窗口为透明。
可以使用
setWindowOpacity(0.5);//范围0.0~1.0
这是令整个应用程序都是半透明。
还可以隐藏窗口,重绘部件做到窗口透明,部件正常的效果。
此外使用图形效果也可以实现半透明窗口。