圆形侧边菜单栏角

问题描述 投票:0回答:1

我正在使用 C++ 开发 Qt 小部件应用程序。 在我的主窗口中,我有一个 QGridLayout,其中包含 3 个主要小部件:顶部的标题、左侧的侧边菜单和右侧的正文。

我主要使用QSS(样式表)来管理我的界面,如果可能的话我想继续这样做。我想在我的侧面菜单上制作一个圆角,如下所示:

我该怎么做?

c++ qt widget rounded-corners qtstylesheets
1个回答
1
投票

您可以利用

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");
© www.soinside.com 2019 - 2024. All rights reserved.