QAction — как изменить иконку при клике?

Есть поле QLineEdit mPass. Пытаюсь сделать иконку - при нажатии на нее пароль можно посмотреть. Делаю вот так
mPass.setEchoMode( QLineEdit::Password );
		
		QAction *passShow = mPass.addAction( LICON( ltICON_PASS_SHOW ), QLineEdit::TrailingPosition );
		QAction *passHide = mPass.addAction( LICON( ltICON_PASS_HIDE ), QLineEdit::TrailingPosition );
		
		auto show = [=]
		{
			mPass.setEchoMode( QLineEdit::Normal );
		};
		
		auto hide = [=]
		{
			mPass.setEchoMode( QLineEdit::Password );
		};
		
		QObject::connect( passShow, &QAction::triggered, show );
		QObject::connect( passHide, &QAction::triggered, hide );

но так появляется две иконки рядом, при нажатии на каждую все работает как надо но нужно что бы была одна иконка которая меняется при нажатии. То есть, если не нажата там например глазик, нажимаешь и глазик перечеркнутый. Буду рад любой помощи.
  • Вопрос задан
  • 219 просмотров
Пригласить эксперта
Ответы на вопрос 1
@TriKrista
Как вариант можно удалять или скрывать ненужную иконку при клике.
Или использовать одну иконку, а при клике менять изображение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы