Russian Qt Forum
Июня 09, 2025, 21:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Нестандартные QToolBox  (Прочитано 15650 раз)
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

Сообщений: 4747



Просмотр профиля 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   Вверх
  Печать  
 
Перейти в:  


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