В QTabBar сделать все вкладки невыбранными |
Здравствуйте, гость ( Вход | Регистрация )
В QTabBar сделать все вкладки невыбранными |
tp4 |
5.7.2011, 15:14
Сообщение
#1
|
Студент Группа: Участник Сообщений: 32 Регистрация: 1.10.2009 Пользователь №: 1128 Спасибо сказали: 1 раз(а) Репутация: 0 |
Здравствуйте, господа.
Собственно, вопрос сформулировал в названии: Как QTabBar сделать все вкладки невыбранными? Безуспешно пробовал: 1. QTabBar::setCurrentIndex(-1); 2. Переопределял QSize QTabBar::tabSizeHint ( int index ) const, что бы он возвращал очень маленький QSize для фиктивной нулевой вкладки. Не привело к требуемым результатам. Буду очень благодарен за советы. |
|
|
RazrFalcon |
5.7.2011, 15:44
Сообщение
#2
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Без возможности выбора что ли?
Что вы хотите что бы отображалось при запуске проги? Если у вас не только только вкладки на форме, то можно в дизайнере выбрать порядок активации, то есть задать номера всем элементам. |
|
|
tp4 |
5.7.2011, 16:15
Сообщение
#3
|
Студент Группа: Участник Сообщений: 32 Регистрация: 1.10.2009 Пользователь №: 1128 Спасибо сказали: 1 раз(а) Репутация: 0 |
Без возможности выбора что ли? Нет, с возможностью выбора. Более того, из состояния "выбрана i-ая вкладка" должен быть реализован переход в состояние "не выбрана никакая вкладка". Но это тонкости, главное, как это сделать концептуально. Что вы хотите что бы отображалось при запуске проги? При запуске QTabBar невиден, т.к. не содержит вкладок. Он обрастает вкладками в процессе работы программы. Если у вас не только только вкладки на форме, то можно в дизайнере выбрать порядок активации, то есть задать номера всем элементам. Речь идет о задании выбора виджетов по нажатию на таб? Не совсем ясно, как это мне поможет. |
|
|
RazrFalcon |
5.7.2011, 17:12
Сообщение
#4
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Честно сказать - ничего не понял.
Вам нужно что бы при запуске таббар был скрыт, а потом, во время работы проги, появлялись новые вкладки? |
|
|
tp4 |
5.7.2011, 17:49
Сообщение
#5
|
Студент Группа: Участник Сообщений: 32 Регистрация: 1.10.2009 Пользователь №: 1128 Спасибо сказали: 1 раз(а) Репутация: 0 |
Честно сказать - ничего не понял. Виноват, значит плохо объяснил. Постараюсь еще разок. Вам нужно что бы при запуске таббар был скрыт, а потом, во время работы проги, появлялись новые вкладки? Да, все верно. Но это уже реализовано и работает. Представим, что уже есть таббар с несколькими вкладками. Пусть выбрана первая вкладка. Необходимо теперь каким-либо образом программно сделать все вкладки таббара невыбранными. Постараюсь по-четче освятить смысл такого элемента. Изначально в окне программы присутствуют некоторые виджеты (QTreeView, QTableView и т.д.), с помощью которых пользователь перемещается по различным элементам модели. Вдруг пользователь захотел модифицировать какой-то элемент, но хочет сделать это позже. Тогда он нажимает кнопку и в QTabBar'е появляется tab, которому соответствует текущий контекст с возможностью редактирования. Так пользователь сёрфит по данным и делает закладки.Таким образом вкладки соответствуют отложенным состояниям модификации данных. Необходимо, чтобы можно было перевести таббар в состояние, когда ни одна вкладка не выбрана, что соответствует режиму просмотра. Итак, назначение QTabBar'а в этом случае - реализация поддержки механизма закладок. Наверное, я много чего хочу, и придется писать свой контрол. |
|
|
RazrFalcon |
5.7.2011, 18:27
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
|
|
|
Litkevich Yuriy |
5.7.2011, 18:30
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
tp4 |
5.7.2011, 18:49
Сообщение
#8
|
Студент Группа: Участник Сообщений: 32 Регистрация: 1.10.2009 Пользователь №: 1128 Спасибо сказали: 1 раз(а) Репутация: 0 |
"не выбрана никакая вкладка". это логически не возможно. Есть записная книжка - "никакая страница не открыта", что это значит, будут ли видны вкладки страниц?Пусть лучше блокнот с рецептами. Человек прочитывает его мельком и делает несколько временных закладок - просто бумажки вложил в нужные страницы. Потом думает: "Ой, а закладку на страничке с борщом забыл сделать". Открывает опять блокнот сначала и ищет требуемую запись. В этот момент все сделанные им временные закладки не активны, но видны. |
|
|
ilyabvt |
5.7.2011, 18:51
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Цитата 2. Переопределял QSize QTabBar::tabSizeHint ( int index ) const, что бы он возвращал очень маленький QSize для фиктивной нулевой вкладки. Не привело к требуемым результатам. Ну можно размер вкладки задать через "Style Sheets"
Вот тебе первая вкладка будет "фиктивной" только еще текст с нее надо убрать. |
|
|
Litkevich Yuriy |
6.7.2011, 3:17
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Открывает опять блокнот сначала и ищет требуемую запись. В этот момент все сделанные им временные закладки не активны Стало быть концепт с вкладками отсутствует. А QTabBar только его и реализует.Но ещё важный момент - Открывает опять блокнот сначала, и при этом видит самую первую страницу блокнота! Т.е. Что-то он должен увидеть на мете "страницы" в программе. Я полагаю, что нужно делать свой виджет - Закладку, очень может быть, на основе QTabBar. Так можно реализовать и логику и, возможно, более подходящее оформление. |
|
|
Текстовая версия | Сейчас: 27.12.2024, 21:25 |