Russian Qt Forum
Сентябрь 30, 2024, 16:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Нестандартные QToolBox  (Прочитано 15072 раз)
NetWorm
Гость
« : Апрель 01, 2012, 11:40 »

Необходимо сделать что-то вроде вот этого


т.е. оно вроде напоминает toolBox, только тут одна особенность что может быть просто кнопка без разворачивания страницы, как например кнопка "Сегодня"... Кто что посоветует?
« Последнее редактирование: Апрель 01, 2012, 11:57 от NetWorm » Записан
Nimbus
Гость
« Ответ #1 : Апрель 01, 2012, 11:56 »

css или paintEvent. На твой вкус ;-)
Записан
NetWorm
Гость
« Ответ #2 : Апрель 01, 2012, 11:58 »

css это-то понятно но как заставить при нажатии на кнопку, страница не открывалась
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Апрель 01, 2012, 12:02 »

Посмотри это или это.
Записан

Qt 5.11/4.8.7 (X11/Win)
V1KT0P
Гость
« Ответ #4 : Апрель 01, 2012, 15:33 »

т.е. оно вроде напоминает toolBox, только тут одна особенность что может быть просто кнопка без разворачивания страницы, как например кнопка "Сегодня"... Кто что посоветует?
Если хочешь сделать красивости то QtQuick. Если нет необходимости в плавном открытии и подойдет мгновенное открытие, то можно использовать тупо layout-ы. Делать их видимыми и не видимыми, но это уже будет некрасивое и ужасное решение. Зато такое моментально делается без квика.
Записан
_OLEGator_
Гость
« Ответ #5 : Апрель 01, 2012, 17:02 »

Можно же еще QTreeView + QSS + делегат замутить.
Записан
NetWorm
Гость
« Ответ #6 : Апрель 01, 2012, 17:06 »

Меня больше интересует не вид! А именно то чтобы можно было добавлять кнопку без странички... т.е. просто кнопку
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #7 : Апрель 01, 2012, 17:09 »

т.е. оно вроде напоминает toolBox, только тут одна особенность что может быть просто кнопка без разворачивания страницы, как например кнопка "Сегодня"... Кто что посоветует?
Если хочешь сделать красивости то QtQuick. Если нет необходимости в плавном открытии и подойдет мгновенное открытие, то можно использовать тупо layout-ы. Делать их видимыми и не видимыми, но это уже будет некрасивое и ужасное решение. Зато такое моментально делается без квика.
Можно же вместо делания их моментально видимым и невидимым использовать QPropertyAnimation для плавного разворачивания виджета.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
V1KT0P
Гость
« Ответ #8 : Апрель 01, 2012, 17:26 »

Меня больше интересует не вид! А именно то чтобы можно было добавлять кнопку без странички... т.е. просто кнопку
Возьми исходник QToolBox и добавь туда эту возможность. Если судить по картинке то еще нужно будет добавить возможность открытия нескольких страничек одновременно. Если тебе подходит стандартный QToolBox, а он не плавно показывает, то используй тупо layout-ы.
Записан
ufna
Гость
« Ответ #9 : Апрель 01, 2012, 18:12 »

Имхо проще всего "ручками" пейнтером отрисовать и не мучаться
Записан
iroln
Гость
« Ответ #10 : Апрель 01, 2012, 18:36 »

На мой взгляд, подобные проблемы возникают из-за того, что в Qt нет стандартного виджета экспандера (Collapsible panel). Причём смешно, что в самом QtDesigner этот кастомный виджет используется. Вот действительно элемент гуи, которого всё время не хватает, а писать лень (про всякие сторонние виджеты знаю, но всё не то, что надо). QToolBox - это вообще фигня какая-то, которую мне ни разу не удалось где-либо использовать по-человечески, из-за того, что её usability нулевое. Поэтому, думаю, проще написать свой виджет под задачу, дешевле будет.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #11 : Апрель 01, 2012, 18:42 »

Ну а "раскладушка"-то у Вас есть? Если нет - передерите из исходников Qt Designer. Это неоднократно обсуждалось, помню это был один из моих первых вопросов на форуме. Там хорошо получается через QTreeWidgetItem (если не ошибаюсь). А дальше сделать одну из раскладушек кнопкой - по смыслу не должно быть проблемой, она ведь "уже виджет"
Записан
NetWorm
Гость
« Ответ #12 : Апрель 01, 2012, 21:22 »

Копаюсь тут в исходниках QToolBox.

Кто пояснить что означает class QToolBoxPrivate : public QFramePrivate. А именно QFramePrivate проблема в том что если передергивать куски кода, то он ругается именно на этот момент. ошибка: invalid use of incomplete type 'struct QFramePrivate'
Записан
V1KT0P
Гость
« Ответ #13 : Апрель 01, 2012, 21:43 »

Копаюсь тут в исходниках QToolBox.

Кто пояснить что означает class QToolBoxPrivate : public QFramePrivate. А именно QFramePrivate проблема в том что если передергивать куски кода, то он ругается именно на этот момент. ошибка: invalid use of incomplete type 'struct QFramePrivate'
Вот смотри что можно сделать с помощью кнопки+лэйаута+виджета: http://rghost.ru/37358540.
Вот такой самодельный тулбокс делается очень просто.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #14 : Апрель 01, 2012, 22:56 »

QFramePrivate как бы намекает, что этот класс не предназначен для использования в своих программах
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.069 секунд. Запросов: 23.