Название: QTabWidget<>QTabBar авто ширина вкладок Отправлено: xint от Февраль 10, 2013, 07:13 Всем привет, такая задача, всю голову поломал, работаю с QTabWidget, каким способом можно сделать что бы вкладки автоматически уменьшались<>увеличивались в ширину в зависимости от их кол-ва и размера главного окна...аналог Google Chrome, там создаем вкладки и если они не помещаются то они уменьшаются в ширину, а когда растягиваешь главное окно, они увеличиваются если появляется место...
Задаем минимальную ширину и максимальную. А каким инструментом лучше всего сделать регулировку их размеров? Да так, что бы попроще, без различных эвентов, расчетов текущей ширины и т.д, если возможно... Можно Layout задать всем табам сразу? Например горизонтальный, который и будет регулировать их размер, между минимальной<>максимальной шириной Такой вот вопрос...подскажите пожалуйста.. Скрин для наглядности (http://s3.postimage.org/6mgqhddar/chrome.jpg) Название: Re: QTabWidget<>QTabBar авто ширина вкладок Отправлено: UNION labs от Февраль 10, 2013, 11:09 Можно вот так сделать
Код: #include <QtGui/QTabBar> Название: Re: QTabWidget<>QTabBar авто ширина вкладок Отправлено: Авварон от Февраль 10, 2013, 11:43 dimkanovikov
Боже, убейтесь... Код: bool TabBar::event(QEvent *event) Название: Re: QTabWidget<>QTabBar авто ширина вкладок Отправлено: UNION labs от Февраль 10, 2013, 11:52 Авварон
Спасибо, рано ещё. Сразу видно отличие "Джедая : наставника для всех" от "Новичка". За решение спасибо, тоже возьму на заметку. Название: Re: QTabWidget<>QTabBar авто ширина вкладок Отправлено: Авварон от Февраль 10, 2013, 12:02 Вообще, можно без кеширования высоты сделать, но у меня профайлер показывал, что при старте аппы с 20ю вкладками родной рассчет сайзхинта вылезал наверх по "тяжелости". Что весьма забавно, чай не 1000 вкладок.
Название: Re: QTabWidget<>QTabBar авто ширина вкладок Отправлено: xint от Февраль 10, 2013, 12:49 Отлично! Спасибо ребят, то что нужно, только всего два вопроса
1. Как установить максимальную ширину вкладки, больше которой она не растянется 2. Как правильно добавить этот TabBar в QTabWidget, добавить то я его добавил, и брать ширину нужно уже у QTabWidget'a а не TabBar'a но tabSizeHint срабатывает только 1 раз, при установки QTabBar'a...я конечно сейчас буду пытаться реализовать, если смогу ) Спасибо еще раз.. Название: Re: QTabWidget<>QTabBar авто ширина вкладок Отправлено: Авварон от Февраль 10, 2013, 19:39 Отлично! Спасибо ребят, то что нужно, только всего два вопроса 1. Как установить максимальную ширину вкладки, больше которой она не растянется 2. Как правильно добавить этот TabBar в QTabWidget, добавить то я его добавил, и брать ширину нужно уже у QTabWidget'a а не TabBar'a но tabSizeHint срабатывает только 1 раз, при установки QTabBar'a...я конечно сейчас буду пытаться реализовать, если смогу ) Спасибо еще раз.. 1. Никак. Вы задаете точный размер вкладки с помощью метода sizeHint(). В нем вы можете ограничить ширину - я в примере вверху ограничиваю 200ми пикселями сверху и 100 снизу. 2. Ширина табара == ширине табвиджета (минус кнопки). Сайзхинт будет вызываться при изменении размеров табвиджета (и, как следствие, таббара) Название: Re: QTabWidget<>QTabBar авто ширина вкладок Отправлено: xint от Февраль 14, 2013, 08:45 Спасибо за помощь!
|