Я использовал QTextCharFormat
для форматирования стиля ссылки и вставки в QTextBrowser
, при нажатии этой ссылки он показывает пунктирную схему (я думал, что это его стиль фокуса). Как удалить эти точки при нажатии?Как удалить пунктирную линию ссылки в QTextBrowser?
ответ
Вариант А
Если вы не хотите, чтобы QTextBrowser
, чтобы получить фокус на всех, наиболее простое решение один вкладыш, чтобы установить его focusPolicy
:
textBrowser->setFocusPolicy(Qt::NoFocus);
Обратите внимание, что это несколько жестокий подход, и вообще предотвращает клавиатурную навигацию. В этом отношении настройка политики фокуса на Qt::TabFocus
намного приятнее, но она не будет препятствовать появлению прямоугольника фокуса, когда QTextBrowser
действительно имеет фокус.
Вариант B
Альтернативный подход заключается в использовании пользовательский, или, вернее, прокси-сервер, стиль, чтобы изменить внешний вид индикатора фокусировки.
#include <QProxyStyle>
class MyProxyStyle : public QProxyStyle
{
public:
int styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const
{
if (hint == SH_TextControl_FocusIndicatorTextCharFormat)
return false;
return QProxyStyle::styleHint(hint, option, widget, returnData);
}
};
, а затем:
textBrowser->setStyle(new MyProxyStyle);
Если вы заинтересованы в деталях реализации, чтобы увидеть, как это работает под капотом, см QWidgetTextControl::getPaintContext() и QCommonStyle::styleHint(). Короче говоря, желаемый внешний вид запрашивается из стиля, который может установить желаемый формат текста в возвращаемых данных.
- 1. Удалить пунктирную линию на кнопке
- 2. Как сделать пунктирную линию ссылки на зависание?
- 3. Как удалить пунктирную линию из HTML контекста
- 4. CSS: удалить пунктирную линию в firefox
- 5. Как нарисовать пунктирную линию?
- 6. Удалить пунктирную линию на рисование полилинии
- 7. AlievePdf создать пунктирную линию
- 8. Как сделать пунктирную линию быстрым?
- 9. SDL2 Как нарисовать пунктирную линию
- 10. Highcharts: добавить пунктирную линию
- 11. WinAPI - как рисовать пунктирную линию?
- 12. Анимировать пунктирную диагональную линию
- 13. Как удалить пунктирную линию из текстового редактора в визуальной студии?
- 14. Как удалить пунктирную линию на карте изображения в IE 11
- 15. Нарисуйте пунктирную линию в iOS
- 16. Как удалить пунктирную линию из моего меню UI?
- 17. Как нарисовать пунктирную линию в MonoGame/XNA
- 18. Как нарисовать пунктирную линию в Firemonkey?
- 19. Как создать пунктирную линию в AndEngine?
- 20. Как нарисовать пунктирную линию прямоугольника в холсте?
- 21. Как нарисовать пунктирную линию в pdfBox
- 22. HTML: как я могу удалить эту пунктирную линию?
- 23. Удалить выделенную в данный момент пунктирную линию JTabbedPane
- 24. удалить пунктирную линию вокруг кнопок радио в светлячок
- 25. рисовать и анимировать пунктирную линию
- 26. Как создать круговую пунктирную линию как CALayer?
- 27. Как создать пунктирную линию с симметричными углами
- 28. Создайте прямую пунктирную/пунктирную линию через y = 0
- 29. удалять пунктирную линию при рисовании прозрачного
- 30. HOWTO: Нарисуйте пунктирную линию в .NET (WinForms)