Russian Qt Forum
Июня 09, 2025, 16:19
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Нестандартные QToolBox
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Нестандартные QToolBox (Прочитано 15647 раз)
NetWorm
Гость
Нестандартные QToolBox
«
:
Апреля 01, 2012, 11:40 »
Необходимо сделать что-то вроде вот этого
т.е. оно вроде напоминает toolBox, только тут одна особенность что может быть просто кнопка без разворачивания страницы, как например кнопка "Сегодня"... Кто что посоветует?
«
Последнее редактирование: Апреля 01, 2012, 11:57 от NetWorm
»
Записан
Nimbus
Гость
Re: Нестандартные QToolBox
«
Ответ #1 :
Апреля 01, 2012, 11:56 »
css или paintEvent. На твой вкус ;-)
Записан
NetWorm
Гость
Re: Нестандартные QToolBox
«
Ответ #2 :
Апреля 01, 2012, 11:58 »
css это-то понятно но как заставить при нажатии на кнопку, страница не открывалась
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Нестандартные QToolBox
«
Ответ #3 :
Апреля 01, 2012, 12:02 »
Посмотри
это
или
это
.
Записан
Qt 5.11/4.8.7 (X11/Win)
V1KT0P
Гость
Re: Нестандартные QToolBox
«
Ответ #4 :
Апреля 01, 2012, 15:33 »
Цитата: NetWorm от Апреля 01, 2012, 11:40
т.е. оно вроде напоминает toolBox, только тут одна особенность что может быть просто кнопка без разворачивания страницы, как например кнопка "Сегодня"... Кто что посоветует?
Если хочешь сделать красивости то QtQuick. Если нет необходимости в плавном открытии и подойдет мгновенное открытие, то можно использовать тупо layout-ы. Делать их видимыми и не видимыми, но это уже будет некрасивое и ужасное решение. Зато такое моментально делается без квика.
Записан
_OLEGator_
Гость
Re: Нестандартные QToolBox
«
Ответ #5 :
Апреля 01, 2012, 17:02 »
Можно же еще QTreeView + QSS + делегат замутить.
Записан
NetWorm
Гость
Re: Нестандартные QToolBox
«
Ответ #6 :
Апреля 01, 2012, 17:06 »
Меня больше интересует не вид! А именно то чтобы можно было добавлять кнопку без странички... т.е. просто кнопку
Записан
Kurles
Бывалый
Offline
Сообщений: 480
Re: Нестандартные QToolBox
«
Ответ #7 :
Апреля 01, 2012, 17:09 »
Цитата: V1KT0P от Апреля 01, 2012, 15:33
Цитата: NetWorm от Апреля 01, 2012, 11:40
т.е. оно вроде напоминает toolBox, только тут одна особенность что может быть просто кнопка без разворачивания страницы, как например кнопка "Сегодня"... Кто что посоветует?
Если хочешь сделать красивости то QtQuick. Если нет необходимости в плавном открытии и подойдет мгновенное открытие, то можно использовать тупо layout-ы. Делать их видимыми и не видимыми, но это уже будет некрасивое и ужасное решение. Зато такое моментально делается без квика.
Можно же вместо делания их моментально видимым и невидимым использовать QPropertyAnimation для плавного разворачивания виджета.
Записан
Код
C++ (Qt)
while
(
!
asleep
(
)
)
sheep
++;
V1KT0P
Гость
Re: Нестандартные QToolBox
«
Ответ #8 :
Апреля 01, 2012, 17:26 »
Цитата: NetWorm от Апреля 01, 2012, 17:06
Меня больше интересует не вид! А именно то чтобы можно было добавлять кнопку без странички... т.е. просто кнопку
Возьми исходник QToolBox и добавь туда эту возможность. Если судить по картинке то еще нужно будет добавить возможность открытия нескольких страничек одновременно. Если тебе подходит стандартный QToolBox, а он не плавно показывает, то используй тупо layout-ы.
Записан
ufna
Гость
Re: Нестандартные QToolBox
«
Ответ #9 :
Апреля 01, 2012, 18:12 »
Имхо проще всего "ручками" пейнтером отрисовать и не мучаться
Записан
iroln
Гость
Re: Нестандартные QToolBox
«
Ответ #10 :
Апреля 01, 2012, 18:36 »
На мой взгляд, подобные проблемы возникают из-за того, что в Qt нет стандартного виджета экспандера (Collapsible panel). Причём смешно, что в самом QtDesigner этот кастомный виджет используется. Вот действительно элемент гуи, которого всё время не хватает, а писать лень (про всякие сторонние виджеты знаю, но всё не то, что надо). QToolBox - это вообще фигня какая-то, которую мне ни разу не удалось где-либо использовать по-человечески, из-за того, что её usability нулевое. Поэтому, думаю, проще написать свой виджет под задачу, дешевле будет.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Нестандартные QToolBox
«
Ответ #11 :
Апреля 01, 2012, 18:42 »
Ну а "раскладушка"-то у Вас есть? Если нет - передерите из исходников Qt Designer. Это неоднократно обсуждалось, помню это был один из моих первых вопросов на форуме. Там хорошо получается через QTreeWidgetItem (если не ошибаюсь). А дальше сделать одну из раскладушек кнопкой - по смыслу не должно быть проблемой, она ведь "уже виджет"
Записан
NetWorm
Гость
Re: Нестандартные QToolBox
«
Ответ #12 :
Апреля 01, 2012, 21:22 »
Копаюсь тут в исходниках QToolBox.
Кто пояснить что означает class QToolBoxPrivate : public QFramePrivate. А именно QFramePrivate проблема в том что если передергивать куски кода, то он ругается именно на этот момент. ошибка: invalid use of incomplete type 'struct QFramePrivate'
Записан
V1KT0P
Гость
Re: Нестандартные QToolBox
«
Ответ #13 :
Апреля 01, 2012, 21:43 »
Цитата: NetWorm от Апреля 01, 2012, 21:22
Копаюсь тут в исходниках QToolBox.
Кто пояснить что означает class QToolBoxPrivate : public QFramePrivate. А именно QFramePrivate проблема в том что если передергивать куски кода, то он ругается именно на этот момент. ошибка: invalid use of incomplete type 'struct QFramePrivate'
Вот смотри что можно сделать с помощью кнопки+лэйаута+виджета:
http://rghost.ru/37358540
.
Вот такой самодельный тулбокс делается очень просто.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Нестандартные QToolBox
«
Ответ #14 :
Апреля 01, 2012, 22:56 »
QFrame
Private
как бы намекает, что этот класс не предназначен для использования в своих программах
Записан
Изучением 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
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...