Здравствуйте, помогите убрать стандарный индикатор, н олставить текст и выровнять его по центру
Часть кода :
// Макет для переключателей фильтров
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->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;" // Скрываем индикатор переключателя
"}");
filterButtonsLayout->addWidget(filterButton);
filterButtonsLayout->setAlignment(Qt::AlignCenter);
filterGroup->addButton(filterButton, i); // Добавляем кнопки в группу
}
// Устанавливаем FILTER 1 как выбранный при старте
filterGroup->button(1)->setChecked(true);
// Добавляем обработчик нажатия кнопок
connect(filterGroup, &QButtonGroup::buttonClicked, this, [=](QAbstractButton *button) {
// Получаем идентификатор кнопки
int id = filterGroup->id(button);
// Убираем видимость всех чекбоксов
for (QCheckBox *cb: leftCheckBoxes) {
cb->setVisible(false);
}
for (QCheckBox *cb: rightCheckBoxes) {
cb->setVisible(false);
}
// Показываем чекбоксы в зависимости от выбранного фильтра
switch (id) {
case 1: // FILTER 1
for (QCheckBox *cb: leftCheckBoxes) {
cb->setVisible(true); // Показываем чекбоксы для первого фильтра
}
for (QCheckBox *cb: rightCheckBoxes) {
cb->setVisible(true); // Показываем чекбоксы для первого фильтра
}
break;
case 2: // FILTER 2
for (QCheckBox *cb: rightCheckBoxes) {
cb->setVisible(true); // Показываем чекбоксы для второго фильтра
}
break;
case 3: // FILTER 3
// Показать чекбоксы для третьего фильтра, если нужно
for (QCheckBox *cb: leftCheckBoxes) {
cb->setVisible(true); // Например, показываем только левые чекбоксы
}
break;
case 4: // FILTER 4
// Показать чекбоксы для четвертого фильтра, если нужно
for (QCheckBox *cb: rightCheckBoxes) {
cb->setVisible(true); // Например, показываем только правые чекбоксы
}
break;
}
});
Как можно это сделать?