C
May 15, 2021, 11:41 p.m.

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

C++, Qt

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

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

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

2

Do you like it? Share on social networks!

3
Михаиллл
  • May 16, 2021, 12:52 a.m.

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

    C
    • May 16, 2021, 1:57 a.m.

    Mihailll

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

      C
      • June 12, 2021, 4:20 p.m.
      • The answer was marked as a solution.

      Привет!

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

      Код:

      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.

      Скриншот:

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

        Comments

        Only authorized users can post comments.
        Please, Log in or Sign up
        • Last comments
        • AK
          April 1, 2025, 11:41 a.m.
          Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
        • Evgenii Legotckoi
          March 9, 2025, 9:02 p.m.
          К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
        • VP
          March 9, 2025, 4:14 p.m.
          Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
        • ИМ
          Nov. 22, 2024, 9:51 p.m.
          Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
        • Evgenii Legotckoi
          Oct. 31, 2024, 11:37 p.m.
          Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup