C
Мамыр 15, 2021, 11:41 Т.Қ.

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

C++, Qt

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

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

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

2

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

3
Михаиллл
  • Мамыр 16, 2021, 12:52 Т.Ж.

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

    C
    • Мамыр 16, 2021, 1:57 Т.Ж.

    Mihailll

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

      C
      • Маусым 12, 2021, 4: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.

      Скриншот:

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

        Пікірлер

        Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
        Кіріңіз немесе Тіркеліңіз