Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt-创建小部件的平滑圆角_Qt_Widget - Fatal编程技术网

Qt-创建小部件的平滑圆角

Qt-创建小部件的平滑圆角,qt,widget,Qt,Widget,我尝试过使用下面描述的方法创建小部件的平滑圆角: 使用Qt::Window | Qt::FramelessWindowHint和 Qt::WA_半透明背景标志 在小部件内部创建QFrame 将样式Sheel设置为QFrame,例如: 我能够获得平滑的圆角,但小部件是“窗口”类型,因此我无法根据其他小部件定位小部件。我们可以通过不将小部件设置为“窗口”类型来实现小部件的完全透明吗?如果我正确理解您的问题,那么您可以将类用于任何“非窗口”小部件。您的问题很不清楚。我觉得这是一个你想添加到布局中的小部

我尝试过使用下面描述的方法创建小部件的平滑圆角:

  • 使用
    Qt::Window | Qt::FramelessWindowHint
    Qt::WA_半透明背景
    标志
  • 在小部件内部创建
    QFrame
  • 将样式Sheel设置为
    QFrame
    ,例如:

  • 我能够获得平滑的圆角,但小部件是“窗口”类型,因此我无法根据其他小部件定位小部件。我们可以通过不将小部件设置为“窗口”类型来实现小部件的完全透明吗?

    如果我正确理解您的问题,那么您可以将类用于任何“非窗口”小部件。

    您的问题很不清楚。我觉得这是一个你想添加到布局中的小部件。如果您想要圆角小部件,只需使用
    QFrame
    并为其设置样式表:

    myFrame->setStyleSheet(".QFrame{background-color: red; border: 1px solid black; border-radius: 10px;}");
    

    无需创建包含
    QFrame
    的小部件。直接使用QFrame即可。

    我也尝试过直接使用QFrame,我将我的主窗口小部件设置为这个圆角QFrame的父窗口。我看到我的圆形QFrame位于一个灰色矩形内,其宽度和高度与这个圆形框架相等。我甚至试过为底片和背景设置透明调色板,但都不起作用。@parveenarora你能在你的问题中贴一张图片,说明你得到的结果和你想要达到的结果吗?
    myFrame->setStyleSheet(".QFrame{background-color: red; border: 1px solid black; border-radius: 10px;}");