Отображение нажатия кнопки в Qt

Я использую Qt с С++ и хочу сделать кнопку, которая продолжает выглядеть нажатой после нажатия и отпускания. В настоящее время я делаю кнопки на QToolBar и делаю что-то вроде toolBar->addAction (icon, tr("Text"));. Это делает кнопки на панели инструментов, которые отображают QIcon с именем icon и отображают «Текст» при наведении курсора. Они также выглядят сдвинутыми вниз, когда пользователь нажимает на них, но перестают выглядеть сдавленными, когда их отпускают (что разумно для большинства случаев использования кнопок). Однако мне нужно что-то другое: я просто хотел бы, чтобы кнопки оставались нажатыми после их отпускания, возможно, до тех пор, пока они не будут нажаты снова. Было бы лучше, если бы я мог просто вызвать какую-нибудь функцию на кнопке или на панели инструментов, которая могла бы дать мне возможность контролировать, будет ли кнопка выглядеть нажатой или не нажатой при ее отображении. Таким образом, я мог просто программно управлять этим аспектом внешнего вида кнопки.

Как проще всего это сделать в Qt? Я видел причудливые способы сделать это с использованием границ и очень сложных настроек, но мне было интересно, может ли быть простой способ сделать это.


person Gravity    schedule 19.08.2011    source источник


Ответы (1)


Добавьте QPushButton на панель инструментов с помощью addWidget, а затем сделайте кнопку проверяемый.

person Community    schedule 19.08.2011