提要
窗口widget是无法直接通过样式表设置为圆角的,需要在窗口QWidget中拖入控件QFrame,将QFrame设置的和窗口QWidget一样大小,将窗口QWidget中需要的控件拖入到QFrame中。
示例
下面是一个提示工具的窗口。通过它简单的记录一下样式表怎么实现圆角窗口。
效果

没有很好的 剪裁,看其中的绿色窗口就行。
步骤
1.创建项目,打开ui文件,在ui文件中“排兵部阵”(在QWidget窗口上放置QFrame,在QFrame上放置自己需要的控件,将QWidget设置为透明,设置QFrame为圆角,并设置其背景色实现圆角窗口);
2.在qss文件中编写样式设置;
3.在ui文件对应的类构造函数中设置窗体的背景透明和无边框;
4.在项目中加载qss文件,一般在main函数。
就该项目本身而言:
1.新建文件后,打开ui文件,向其中拖入QFrame控件,将QFrame 和QWidget设置一样的大小,接下来向QFrame中拖入需要的控件,本例中由于只做提示,便只放了一个QLabel控件。
ui文件的对象类如下:

样式表
my.qss
/*提示工具*/
/*提示窗口的背景*/
QWidget#ToolTipForm
{
background-color:transparent;
}
/*提示窗口的frame*/
QWidget#ToolTipForm>QFrame#frame
{
background-color:#aaff7f;
border:none;
border-radius:20px;
}
/*标签*/
QFrame#frame>QLabel#label
{
background-color:transparent;
color

本文介绍了如何在Qt中通过QSS和窗口属性设置创建无边框且具有圆角的透明窗口。关键步骤包括在UI中放置QFrame作为背景,设置QFrame为圆角并透明,以及在代码中设置窗口透明和无边框。同时提供了具体的QSS样式和代码示例。
最低0.47元/天 解锁文章
2659





