запуск виджета по нажатию кнопки |
Здравствуйте, гость ( Вход | Регистрация )
запуск виджета по нажатию кнопки |
guest13 |
13.11.2008, 14:48
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 9.10.2008 Пользователь №: 386 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имеется 2 виджета. Необходимо реализовать такую ситуацию - при запуске программы появляется только 1 виджет, а второй запускается только после нажатия кнопки на 1-м виджете.
набросал вот такой код (просто запускается 2 виджета, на обоих имеются кнопки, которые закрывают программу (quit())). Раскрывающийся текст
прошу помощи. заранее благодарю за внимание |
|
|
Litkevich Yuriy |
14.11.2008, 10:40
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
для описаной изначально задачи, это выглядит так:
вобщем логика: или в переводе с русского на С++ так:создал виджет 1 создал виджет 2 соеденил сигнал 1-го со слотом 2-го показал 1-ый запустил цикл событий приложения (соображай где все эти действия нужно проделать!) И всеВ классе MyWid1 создал сигнал void clicked(); с седенил его с сигналом кнопки: QObject::connect(q,SIGNAL(clicked()),this,SIGNAL(clicked())); где q кнопка (нумеровать ее нет нужды, т.к. в каждом классе она своя) и того, когда по кнопке первого виджета щелкнут, происходит следующее: QPushButton::clicked() -> MyWid1::clicked() -> MyWid2::show() т.е. отобразится второй виджет |
|
|
guest13 |
14.11.2008, 10:48
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 9.10.2008 Пользователь №: 386 Спасибо сказали: 0 раз(а) Репутация: 0 |
или в переводе с русского на С++ так: И всекогда я делал так, то получал следующее
тогда, я и сделал так, как описал выше.... p.s. пока я писал, ты уже добавил)) В классе MyWid1 создал сигнал void clicked(); с седенил его с сигналом кнопки: т.е. я просто создал лишний слот) значит всё-таки намудрил ) но зато, теперь кроме вызова второго виджета, я могу ещё какое-нибудь действо совершить) большое спасибо! |
|
|
Текстовая версия | Сейчас: 22.12.2024, 15:27 |