свойство outline не работает в Qt styleSheets - PullRequest
0 голосов
/ 22 июня 2019

Я написал простой пример диалога и попытался добавить схему в 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 голосов
/ 22 июня 2019

Это то, что вы хотите достичь?

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

Редактировать:

Действительно, кажется, что функция структуры не работает, как ожидалось, хотя это задокументировано в справке .Я думаю, что это ошибка документации, потому что она была введена позже, см. QTBUG-26673 .Схема в примере предназначена для QPushButtons и выполняет другую работу, чем схема, которую определяет CSS.Вы можете увидеть другие примеры для этого здесь на SO, см .: QT - CSS: украшение на фокусе Итак, в заключение я бы пришел к выводу, что свойство outline неправильно задокументировано и не может использоваться для ваших целей.Вы можете подать в Qt Bug report и посмотреть, каков будет результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...