c++ 圆形侧面菜单栏角

ocebsuys  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(89)

我正在使用C++开发一个Qt小部件应用程序。在我的主窗口中,我有一个QGridLayout,其中包含3个主要小部件:顶部的标题,左侧的侧菜单和右侧的主体。
我主要使用QSS(样式表)来管理我的界面,如果可能的话,我想继续这样做。我想在我的侧菜单上做一个圆角,像这样:


的数据
我该怎么做?

oo7oh9g9

oo7oh9g91#

您可以利用border-radius属性。这里有一个简单的示例来说明如何做到这一点:

#MySideMenu {
    border-radius: 9px;
}

字符串
确保你的侧菜单小部件有一个对象名称。你可以在C++代码中这样设置它:

sideMenu->setObjectName("MySideMenu");


要创建外部圆角效果,您可以将侧菜单放置在具有更多圆角的较大父部件内。
1.为你的侧边菜单做一个父部件,并给它给予更大的圆角。

parentWidget->setStyleSheet("QWidget#ParentWidget { background: white; border-radius: 20px; }");
parentWidget->setObjectName("ParentWidget");


1.给予你的侧边菜单更小的圆角。
这将使它看起来像你的侧菜单有一个外圆角。你可以调整圆角的大小来匹配你的设计。记住,父组件的角应该比侧菜单的角更圆,以创建这种效果。

sideMenu->setStyleSheet("QWidget#SideMenu { background: #yourColour; border-radius: 15px; }");
sideMenu->setObjectName("MySideMenu");

相关问题