2014-12-03 11 views
9

Я пытаюсь изменить цвет фона QLineEdit, и я не могу понять это вообще.Qt Установить цвет фона QLineEdit

Я попытался с помощью stylesheets первоначально как этот

QLineEdit *le = new QLineEdit(); 
le->setStyleSheet("background:#000;"); 

, но это ничего не делать. Я попытался с помощью QPalette как этот

QPalette palette; 
palette.setColor(QPalette::Base, Qt::black); 
palette.setColor(QPalette::Background, Qt::black); 
le.setPalette(palette);  

, но это ничего не сделать что-либо. Я смотрю весь день и ничего не могу найти. я делаю что-то неправильно или есть другой способ сделать это?

ответ

7

отлично работает для меня:

QLineEdit *le = new QLineEdit(); 
le->setStyleSheet("QLineEdit { background: rgb(0, 255, 255); selection-background-color: rgb(233, 99, 0); }"); 
+0

Ах, я обнаружил, что это было именно просто потому, что в окне был атрибут 'Qt :: WA_TranslucentBackground'. Это весь день сводило меня с ума. спасибо, хотя –

+0

@DavidLudwig Я рад, что вы это поняли. Отметка ответа как принятого была бы полезной, учитывая, что это правильный ответ ... – Iuliu

7

Вы можете установить цвет фона и цвет текста строки редактирования, установив палитру как:

QLineEdit *le = new QLineEdit(); 

QPalette palette; 
palette.setColor(QPalette::Base,Qt::black); 
palette.setColor(QPalette::Text,Qt::white); 
le->setPalette(palette); 
2

Я должен был использовать цвет фона из стандартного CSS как это:

QLineEdit* edit = new QLineEdit(); 
edit->setStyleSheet("QLineEdit {background-color: black;}"); 

Я использую Qt 5.4

1

Ваш код почти правильный. Только редактирование QLine использует базовый цвет. Так что, если вы не хотите, чтобы заменить существующую таблицу стилей, которая может содержать границ отступы и поля, и вы хотите изменить только фон, использовать QPalette:

QPalette palette = _ui->lnSearch->palette(); 
palette.setColor(QPalette::Base, Qt::green); 
_ui->lnSearch->setPalette(palette); 

Благодаря: https://forum.qt.io/topic/64568/why-setting-background-color-of-qlineedit-has-no-effect

Смежные вопросы