Чтобы отключить стандартный индикатор в `QRadioButton` и оставить только текст, вы можете использовать стилизацию через QSS (Qt Style Sheets). В вашем коде вы уже сделали большую часть работы, но есть некоторые нюансы.
Во-первых, чтобы полностью убрать индикатор, нужно использовать `QRadioButton::indicator`, и не только установить его ширину и высоту в 0, но также установить его видимость в `hidden` или задать `display: none;`. Таким образом, индикатор не будет отображаться.
Ваш обновлённый код с правильной стилизацией может выглядеть так:
```cpp
// Макет для переключателей фильтров
QHBoxLayout *filterButtonsLayout = new QHBoxLayout();
filterButtonsLayout->setSpacing(5); // Расстояние между переключателями
filterButtonsLayout->setContentsMargins(0, 10, 0, 0); // Устанавливаем отступ сверху
// Создаем группу для переключателей
QButtonGroup *filterGroup = new QButtonGroup(this);
// Переключатели фильтров
for (int i = 1; i <= 4; ++i) {
QRadioButton *filterButton = new QRadioButton("FILTER " + QString::number(i));
filterButton->setFixedWidth(102);
filterButton->setCursor(Qt::PointingHandCursor); // Установим указатель на руки при наведении
filterButton->setStyleSheet(
"QRadioButton {"
" color: #FFFFFF;"
" border: 1px solid #267189;"
" background-color: transparent;"
" border-radius: 5px;"
" padding: 5px 10px;"
" text-align: center;" // Выравнивание текста по центру
"}"
"QRadioButton:hover {"
" background-color: #267189;"
" color: white;"
"}"
"QRadioButton:checked {"
" background-color: #267189;" // Цвет для выбранного переключателя
" color: white;"
"}"
"QRadioButton::indicator {"
" width: 0px;"
" height: 0px;"
" background: transparent;"
" border: none;"
" visibility: hidden;" // Скрываем индикатор переключателя
"}");
filterButtonsLayout->addWidget(filterButton);
filterGroup->addButton(filterButton);
}
```
Обратите внимание на изменения:
- Добавлен `visibility: hidden;` для `QRadioButton::indicator`, чтобы полностью скрыть индикатор.
- Установили курсор в `Qt::PointingHandCursor`, чтобы пользователи знали, что элемент интерактивный.
После этих изменений при запуске вашего приложения переключатель должен отображать только текст, без стандартного индикатора.