C
15 мая 2021 г. 23:41

Проблема с кнопкой закрытия вертикальных вкладок

C++, Qt

Здравствуйте!

У меня возник вопрос с вертикальными вкладками в Qt. Вот пример:

Дело в том что иконка закрытия перекрывает текст вкладки. Может вы знаете как задать значение X к этой кнопки? Так как в тестовом проекте много кода, я загрузил его в архив.
Мой код: TabExample.zip TabExample.zip
Спасибо.

2

Вам это нравится? Поделитесь в социальных сетях!

3
Михаиллл
  • 16 мая 2021 г. 0:52

Может быть кнопками заменить табы? У кнопок нормально иконки задаются. И если это таб виджет, то можно его заменить на стэк виджет. Но это конечно костыли.

    C
    • 16 мая 2021 г. 1:57

    Mihailll

    Здравствуйте!
    Спасибо за совет. Но в даном случаем мне нужно QTabWidget как горизонтально так и вертикально.

      C
      • 12 июня 2021 г. 16:20
      • Ответ был помечен как решение.

      Привет!

      Я исправил проблему с положением кнопки закрытия вертикальной вкладки.

      Код:

      1. if (tabPos != AppTabPosition::Top && tabPos != AppTabPosition::Bottom) {
      2. s.transpose();
      3.  
      4. if (this->tabsClosable()) { // check if tab is closable
      5. QRect optRect = opt.rect;
      6. optRect.setX(90); // set X pos of close button
      7. optRect.setY(optRect.y() + 8); // calcs the Y pos of close button
      8. optRect.setSize(QSize(12, 12));
      9. this->tabButton(i, QTabBar::RightSide)->setGeometry(optRect);
      10. }
      11. }

      Здесь я не изменяю значение по умолчанию opt.rect, а вместо этого копирую его в новый QRect. Затем я меняю размер и положение optRect и, наконец, устанавливаю его в tabButtton.

      Скриншот:

      Проблема решена.

        Комментарии

        Только авторизованные пользователи могут публиковать комментарии.
        Пожалуйста, авторизуйтесь или зарегистрируйтесь