![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Adun177 |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 25.2.2009 Пользователь №: 575 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Добрый день!
Программа работает с базой данных и отображает текущее состояние БД Сделано стандартно по примеру QT - считывание с БД происходит в конструкторе теперь я пытаюсь переопределить метод show но ничего не выводится вот код. Нужно сделать так чтобы каждый раз при вызове диалога программа считывала с БД и создавала список. Код
|
|
|
kwisp |
![]()
Сообщение
#2
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
и вам день добрый.
я пытаюсь переопределить метод show но ничего не выводится это не просто метод а слот и при том не protected: попробуй переопределить в секции public slots: хотя не уверен что сработает. почему бы не сделать так что бы это: при вызове диалога программа считывала с БД и создавала список. происходило по событию показа диалога. QWidget::showEvent(QShowEvent* ev) для этого достаточно переопределить этот метод и все. не знаю правда как будет реагировать если уже показанный диалог скрыть и потом опять показать... скорее всего обработчик вызовется еще один раз. еще вопрос зачем сделано virtual void show(void); предполагается наследование данного класса? Сообщение отредактировал kwisp - 10.3.2009, 10:57 |
|
|
Kagami |
![]()
Сообщение
#3
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: ![]() ![]() ![]() |
Show() для этого не самое лучшее место. Слишком часто она вызывается, например, если свернуть и восстановить окно. Лучше сделай отдельную процедуру для формирования списка и вызывай ее из конструктора и всякий раз, когда тебе надо этот список обновить. Для этого ее можно сделать слотом.
|
|
|
Adun177 |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 25.2.2009 Пользователь №: 575 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Show() для этого не самое лучшее место. Слишком часто она вызывается, например, если свернуть и восстановить окно. Лучше сделай отдельную процедуру для формирования списка и вызывай ее из конструктора и всякий раз, когда тебе надо этот список обновить. Для этого ее можно сделать слотом. Если я правильно понял при закрытии диалога надо будет вызывать delete а не this->close(); Сорри за ламерские вопросы по QT - просто я с помощью него пишу диалоговые окна для приложения на GL а это чистый С поэтому путаюсь в объектно-ориентированном программировании. Если несложно подкиньте рабочий код для моей задачи. Всем спасибо заработало через ShowEvent |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#6
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Всем спасибо заработало через ShowEvent смотри сам. будет вызваться не только при твоем вызове show() но и при свертывании и разворачивании окна к примеру мышкой или переключениии по Alt+Tab, если не ошибаюсь. лучше покажи как работаешь с диалогом он в классе или сам по себе, есть ли у него владелец??? может состряпаем метод заполнения и все. типа: Раскрывающийся текст
как надо показать и заполнить вызываешь его. как просто показать вызываешь просто show() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Adun177, я бы сделал примерно так (общий случай):
Применение
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.2.2025, 10:30 |