Название: CheckBox и RadioButton - штриховое выделение Отправлено: ysfox от Декабрь 10, 2010, 10:47 Добрый день
Господа программисты помогите вот с такой проблемой: когда создать пользовательский интерфейс при нажатиях на клавишу или на чекбокс, или на радиобаттон - вокруг них появляется штриховая рамка... выглядит не очень(... как можно ёё убрать? Ну с кнопками понятно, там все просто - в стиле ставишь: Код: setStyleSheet(" padding: -15px;"); Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: _govorilka от Декабрь 10, 2010, 11:19 Почитай про класс QStyle и унаследованные от него.
Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: andrewshkovskii от Декабрь 10, 2010, 11:26 Скриншот рамки покажи, а то что-то я не понял : )
Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: ysfox от Декабрь 10, 2010, 11:36 (http://i059.radikal.ru/1012/c4/105ee8f7cb16.png)
Вот выделена надпись "UST_B ", тоже самое и с радиобатонами... (он выделяется когда на него нажать - выделяется сам текст, а мне этого не надо, надо чтоб просто изменилась картинка и все) лечится это просто - просто пишеш текст около них в лабеле и все... но блин зачем же тогда возможности самих виджетов, если вот таким варварским способом надо будет все переделывать( Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: andrewshkovskii от Декабрь 10, 2010, 12:18 Это InputFocus, убрать можно через css с помощь соответствующего псевдосостояния.
Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: SABROG от Декабрь 10, 2010, 12:46 Это решается воздействием на стиль. Нужно запретить стилю рисовать пунктирное выделение для определенных контролов, если они имеют фокус. Для этих целей можно использовать QProxyStyle:
Код
Код
Можно использовать так: Код
или так, для глобального переопределения: Код
Есть еще такой вариант Код Но у него есть свои подводные камни. Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: ysfox от Декабрь 10, 2010, 12:56 Это InputFocus, убрать можно через css с помощь соответствующего псевдосостояния. щас попробую поискать, как его изменить... спасибо! Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: ysfox от Декабрь 10, 2010, 13:06 Вот так работает идеально:
Код: ui->radioButton_CN_EXT->setFocusPolicy(Qt::NoFocus); Код: ACTS12K::setFocusPolicy(Qt::NoFocus); Щас попробую еще вариант SABROG Спасибо вот только было б меньше проблем просто както применить выше упомянутую функцыю ко всем виджетам на форме.... но как это зделать пока незнаю. Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: ysfox от Декабрь 10, 2010, 15:26 или так, для глобального переопределения: Код
Есть еще такой вариант Код Но у него есть свои подводные камни. если делаю глобально програма просто вылетает, а так работает но ничего не изменилось( наверно я чтото не так делаю... а второй вариант если можно розкажыте пожалуйста чем он плохой? ну чем это потом может повлиять на программу кроме того что надо будет каждый елемент и кнопку описивать отдельно.... Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: SABROG от Декабрь 10, 2010, 15:44 а второй вариант если можно розкажыте пожалуйста чем он плохой? Тем, что фокус нельзя перемещать между кнопками и соответственно нельзя использовать клавиатуру для активации виджетов. Тем, что некоторые виджеты ведут себя определенным образом при получении и потери фокуса. В некоторых случаях на эти события могут быть повешены определенные проверки. Например при потери фокуса QLineEdit можно проверять корректность введенной информации и т.п.Я не знаю почему у Вас вылетает приложение, надо смотреть исходные коды. Название: Re: CheckBox и RadioButton - штриховое выделение Отправлено: ysfox от Декабрь 10, 2010, 16:06 Спасибо... за это я знал, думал там еще чтото есть... клавиатуры как такой на приборе скоро не будет, так что за это я не безпокоюсь, да и собственно проверки в едитах я делаю через изменение положения курсора - так в реальном времени проверяю все что вводит пользователь, и соотвецтвенно сразу фильтрую :)
пока поставлю 2м вариантом так как время поджымает) и сяду разбератся почему у меня не работает Ваш, думаю найду где моя ошыбка :) |