crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> В 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  


Цитата(RazrFalcon @ 5.7.2011, 16:44) *
Без возможности выбора что ли?

Нет, с возможностью выбора. Более того, из состояния "выбрана i-ая вкладка" должен быть реализован переход в состояние "не выбрана никакая вкладка". Но это тонкости, главное, как это сделать концептуально.

Цитата(RazrFalcon @ 5.7.2011, 16:44) *
Что вы хотите что бы отображалось при запуске проги?

При запуске QTabBar невиден, т.к. не содержит вкладок. Он обрастает вкладками в процессе работы программы.

Цитата(RazrFalcon @ 5.7.2011, 16:44) *
Если у вас не только только вкладки на форме, то можно в дизайнере выбрать порядок активации, то есть задать номера всем элементам.

Речь идет о задании выбора виджетов по нажатию на таб? Не совсем ясно, как это мне поможет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Цитата(RazrFalcon @ 5.7.2011, 18:12) *
Честно сказать - ничего не понял.

Виноват, значит плохо объяснил. Постараюсь еще разок.

Цитата(RazrFalcon @ 5.7.2011, 18:12) *
Вам нужно что бы при запуске таббар был скрыт, а потом, во время работы проги, появлялись новые вкладки?

Да, все верно. Но это уже реализовано и работает. Представим, что уже есть таббар с несколькими вкладками. Пусть выбрана первая вкладка. Необходимо теперь каким-либо образом программно сделать все вкладки таббара невыбранными.

Постараюсь по-четче освятить смысл такого элемента.
Изначально в окне программы присутствуют некоторые виджеты (QTreeView, QTableView и т.д.), с помощью которых пользователь перемещается по различным элементам модели. Вдруг пользователь захотел модифицировать какой-то элемент, но хочет сделать это позже. Тогда он нажимает кнопку и в QTabBar'е появляется tab, которому соответствует текущий контекст с возможностью редактирования. Так пользователь сёрфит по данным и делает закладки.Таким образом вкладки соответствуют отложенным состояниям модификации данных. Необходимо, чтобы можно было перевести таббар в состояние, когда ни одна вкладка не выбрана, что соответствует режиму просмотра.
Итак, назначение QTabBar'а в этом случае - реализация поддержки механизма закладок.

Наверное, я много чего хочу, и придется писать свой контрол.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 5.7.2011, 18:27
Сообщение #6


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Что такое, только обе вкладки не активны?

Если да, то без понятия, никогда не сталкивался :unsure:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.7.2011, 18:30
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(tp4 @ 5.7.2011, 19:15) *
"не выбрана никакая вкладка".
это логически не возможно. Есть записная книжка - "никакая страница не открыта", что это значит, будут ли видны вкладки страниц?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tp4
  опции профиля:
сообщение 5.7.2011, 18:49
Сообщение #8


Студент
*

Группа: Участник
Сообщений: 32
Регистрация: 1.10.2009
Пользователь №: 1128

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 5.7.2011, 19:30) *
Цитата(tp4 @ 5.7.2011, 19:15) *
"не выбрана никакая вкладка".
это логически не возможно. Есть записная книжка - "никакая страница не открыта", что это значит, будут ли видны вкладки страниц?


Пусть лучше блокнот с рецептами. Человек прочитывает его мельком и делает несколько временных закладок - просто бумажки вложил в нужные страницы. Потом думает: "Ой, а закладку на страничке с борщом забыл сделать". Открывает опять блокнот сначала и ищет требуемую запись. В этот момент все сделанные им временные закладки не активны, но видны.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 5.7.2011, 18:51
Сообщение #9


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Цитата
2. Переопределял QSize QTabBar::tabSizeHint ( int index ) const, что бы он возвращал очень маленький QSize для фиктивной нулевой вкладки. Не привело к требуемым результатам.

Ну можно размер вкладки задать через "Style Sheets"
QTabBar::tab:first {
max-width: 0px;
}

Вот тебе первая вкладка будет "фиктивной" только еще текст с нее надо убрать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 6.7.2011, 3:17
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(tp4 @ 5.7.2011, 21:49) *
Открывает опять блокнот сначала и ищет требуемую запись. В этот момент все сделанные им временные закладки не активны
Стало быть концепт с вкладками отсутствует. А QTabBar только его и реализует.
Но ещё важный момент - Открывает опять блокнот сначала, и при этом видит самую первую страницу блокнота! Т.е. Что-то он должен увидеть на мете "страницы" в программе.

Я полагаю, что нужно делать свой виджет - Закладку, очень может быть, на основе QTabBar. Так можно реализовать и логику и, возможно, более подходящее оформление.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 21:25