我尝试使用下面描述的方法创建小部件的平滑圆角:
Qt::Window | Qt::FramelessWindowHint
创建一个小部件并
Qt::WA_TranslucentBackground
旗帜;QFrame
;QFrame
,例如:border: 1px solid red; border-radius: 20px; background-color: black;
我能够获得平滑的圆角,但该小部件是“窗口”类型,因此我无法根据其他小部件定位该小部件。我们可以通过不将 widget 做成“窗口”类型来实现 widget 的完全透明吗?
你的问题很不清楚。在我看来,这是一个您想要添加到布局中的小部件。如果您想要一个带有圆角的小部件,只需使用
QFrame
并为其设置样式表:
myFrame->setStyleSheet(".QFrame{background-color: red; border: 1px solid black; border-radius: 10px;}");
无需创建包含
QFrame
的小部件。直接使用QFrame
就可以了。
QGraphicsOpacityEffect
类来处理任何“非窗口”小部件。