создание панели |
Здравствуйте, гость ( Вход | Регистрация )
создание панели |
Rosster |
5.12.2009, 1:07
Сообщение
#1
|
Студент Группа: Участник Сообщений: 33 Регистрация: 23.11.2009 Пользователь №: 1254 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет, кто-нить подскажет как создать панельку, наподобие "Подождите...",чтобы можно было ее показывать и прятать, например, функциями show() и hide(). Эту панельку можно создать с помощью QLabel, но вот чтоб играть как с классом у меня что-то не получается. Примеры с прогресс баром не подходят, нужно именно панель, но без создания окна как QWidget, не нужны кнопки закрыть и т.д., просто показ панели.
Спасибо |
|
|
Andrewshkovskii |
5.12.2009, 1:36
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Тебе нужен модальный(метод exec() у QDialog) диалог без кнопок который появляется по сигналу и прячется по таймеру (или по какому-то иному событию).
|
|
|
Litkevich Yuriy |
5.12.2009, 8:30
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Rosster, посмотри флаги в конструкторе QWidget, они позволяют управлять наличием заголовка окна.
enum Qt::WindowType |
|
|
Rosster |
5.12.2009, 14:38
Сообщение
#4
|
Студент Группа: Участник Сообщений: 33 Регистрация: 23.11.2009 Пользователь №: 1254 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо помогло. Но при динамической загрузке ui файла, когда создается объект
QUiLoader uiLoader(this); тратится 30Мб, это для моей программы неприемлемо, причем после завершения функции (удаления родителя), он должен освободить память. Как можно решить данную проблему? Или придется встраивать в проект доп. класс как обычно? |
|
|
Litkevich Yuriy |
5.12.2009, 18:08
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Rosster, я думаю, неосвобождение памяти связано с тем, что Qt кэширует её, т.е. повторная загрузка будет быстрее, т.е. уже выделено 30метров (ещё 30 метров съедаться не будет).
|
|
|
Rosster |
7.12.2009, 19:45
Сообщение
#6
|
Студент Группа: Участник Сообщений: 33 Регистрация: 23.11.2009 Пользователь №: 1254 Спасибо сказали: 0 раз(а) Репутация: 0 |
Litkevich Yuriy, это я уже проверил и это так и есть. Но вся фишка в том, что это плохо сказывается на маломощных компах с маленькой памятью. Вот, например, пишу программу где в начале программы динамически загружается ui, но потом загружаться больше ничего не будет,а работа продолжается часа 2 загружая свободную память и тогда освобождение 30 метров необходимо. По мне это минус, я бы на места разработчиков дал возможность пользователю управлять этим, или это уже есть, но пока никак не найду
|
|
|
Rocky |
7.12.2009, 21:23
Сообщение
#7
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Ну я вот так делаю, когда генерится вывод отчета в excel:
Или это не то? |
|
|
Litkevich Yuriy |
8.12.2009, 5:20
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Rocky, что-то я не понял к чему это. Вроде последний раз речь шла о неосвобождении памяти QUiLoader'ом
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 12:03 |