Как изменить цвет фона QLineEdit в QGraphicsSceneC++

Программы на C++. Форум разработчиков
Anonymous
Как изменить цвет фона QLineEdit в QGraphicsScene

Сообщение Anonymous »

У меня есть QGraphicsScene, и я добавляю QlineEdit, но изменение цвета просто не работает.

Код: Выделить всё

QGridLayout *layout = new QGridLayout(this);
QGraphicsView *view = new QGraphicsView(this);
QGraphicsScene *scene = new QGraphicsScene(this);

QWidget *widget = new QWidget();
QGridLayout *widgetLayout = new QGridLayout(this);
QLineEdit *le1 = new QLineEdit(widget);
QLineEdit *le2 = new QLineEdit(widget);
widgetLayout->addWidget(le1,1,0);
widgetLayout->addWidget(le2,2,0);
widget->setLayout(widgetLayout);

QPalette paletteRed = le1->palette();
paletteRed.setColor(QPalette::Background,Qt::red);

QPalette paletteGreen = le1->palette();
paletteGreen.setColor(QPalette::Background,Qt::green);

le1->setAutoFillBackground(true);
le1->setPalette(paletteRed); // not working
widget->setPalette(paletteGreen); // working

view->setScene(scene);
scene->addWidget(widget);

ui->centralWidget->setLayout(layout);
layout->addWidget(view);
Нужно ли мне запускать что-то вроде update() (который тоже не работает, чтобы получить другой цвет), если виджет находится в сцене?

Нужно ли мне запускать что-то вроде update() (который тоже не работает, чтобы получить другой цвет), если виджет находится в сцене?

Нужно ли мне запускать что-то вроде update() (который тоже не работает, чтобы получить другой цвет), если виджет находится в сцене?

Нужно ли мне запускать что-то вроде update() (который тоже не работает, чтобы получить другой цвет), если виджет находится в сцене?

Нужно ли мне запускать что-то вроде update() (который тоже не работает, чтобы получить другой цвет), если виджет находится в сцене?

Нужно ли мне запускать что-то вроде update() (который тоже не работает, чтобы получить другой цвет), если виджет находится в сцене? p>

РЕДАКТИРОВАНИЕ:

создан новый пример кода.

Я знаю, что это работает в обычном QWidget. На самом деле код работает нормально, если я помещаю QLineEdit в обычный QFrameи т. д. но в QGraphicsScene. И в этом особом случае это не работает. Цвет текста, выделения и т. д. также работает нормально. Но backgroud/base/etc — нет.

Подробнее здесь: https://stackoverflow.com/questions/374 ... phicsscene

Вернуться в «C++»