隐藏QPushButton和QLineEdit Borders

时间:2018-01-28 02:08:36

标签: c++ qt qstylesheet

我想隐藏那些边框

并使其看起来像这样

我认为用QT创建一个漂亮的GUI非常困难,所以我有一个想法就是设计一个作为PNG背景,并在其上放置一个透明对象,所以我的问题是如何隐藏lineEdits的边框QT中的按钮

1 个答案:

答案 0 :(得分:3)

一种可能的解决方案是通过属性

使用Qt样式表
border-radius: some_value;

示例:

#include <QApplication>
#include <QLineEdit>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QString qss = "QWidget{"
                       "background-color: rgb(92, 53, 102);"
                       "}"
                       "QPushButton{"
                       "border-radius: 10px;"
                       "background-color: rgb(85, 87, 83);"
                       "}"
                       "QPushButton:pressed{"
                       " border-radius: 10px;"
                       "background-color: rgb(46, 52, 54);"
                       "}"
                       "QLineEdit {"
                       "border-radius: 10px;"
                       "background-color: rgb(173, 127, 168);"
                       "}";

    a.setStyleSheet(qss);
    QWidget widget;
    widget.setLayout(new QVBoxLayout);
    widget.layout()->addWidget(new QPushButton("button"));
    widget.layout()->addWidget(new QLineEdit);
    widget.show();
    return a.exec();
}

输出:

enter image description here

参考文献: