outline属性在Qt样式中不起作用

时间:2019-06-22 11:35:52

标签: c++ qt

我写了一个简单的Dialog示例,尝试向QLineEdit添加轮廓,但是没有效果。

#include "mainwindow.h"
#include <QLineEdit>
#include <QVBoxLayout>

MainWindow::MainWindow(QWidget *parent) :
    QDialog(parent)
{
   auto layout = new QVBoxLayout(this);
   auto lineEdit = new QLineEdit(this);
   lineEdit->setStyleSheet("QLineEdit { outline-color: red; } ");

   layout->addWidget(lineEdit, 0, Qt::AlignCenter);

   setLayout(layout);
}

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

这是您想要实现的吗?

lineEdit->setStyleSheet("border: 1px solid red");

编辑:

尽管reference中记录了大纲功能,但实际上看起来大纲功能并未按预期工作。我认为这是文档错误,因为它是随后引入的,请参见QTBUG-26673。 该示例中的轮廓适用于QPushButtons,并且其功能与CSS定义的轮廓不同。您可以在SO上看到有关此示例的其他示例,请参见:QT - CSS: decoration on focus 因此,总而言之,我得出的结论是outline属性被错误记录,不能用于您的目的。您可以在Qt错误报告中提交文件,然后查看结果。