Как изменить цвет фона 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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