Russian Qt Forum

Qt => Вопросы новичков => Тема начата: QPeter от Февраль 21, 2014, 13:32



Название: Открыть новое окно витжета
Отправлено: QPeter от Февраль 21, 2014, 13:32
Как, куда, что нужно сделать так, что бы при нажатии на кнопку в окне одного виджета, открывалось новое окно с заданным текстом?
Какой сигнал/слот. И как всё это сделать в Qt Designer?


Название: Re: Открыть новое окно витжета
Отправлено: kambala от Февраль 21, 2014, 15:48
у кнопки сигнал clicked(), у окна слот show(). в дизайнере размещаешь 2 окна, в одно помещаешь кнопку, переходишь в режим редактирования сигналов/слотов (F4), зажимаешь мышку на своей кнопке, ведешь ко второму окну, отпускаешь на нем и соединяешь вышеназванные сигнал и слот


Название: Re: Открыть новое окно витжета
Отправлено: QPeter от Февраль 21, 2014, 17:25
Окей, спасибо большое.)


Название: Re: Открыть новое окно витжета
Отправлено: West727 от Март 18, 2014, 20:02
Каким образом можно разместить 2 окна? у меня чисто физически не получается соединить сигнал -> слот разных окон(нуп),
создал 2 ui, Одно главное окно, другое диалоговое, что дальше? подскажите пожалуйста


Название: Re: Открыть новое окно витжета
Отправлено: QPeter от Март 19, 2014, 02:19
А что ты хочешь сделать? Просто открыть его или что то передать туда еще?


Название: Re: Открыть новое окно витжета
Отправлено: West727 от Март 19, 2014, 09:45
Для начала хотя бы открыть его, ну а в планах передать туда текст (2 строки, что то вроде регистрации).
upd: справился =), но не знаю как сделать что бы при открытии диалогового(№2) кнопкой из окна(№1), окно №1 закрывалось.


Название: Re: Открыть новое окно витжета
Отправлено: QPeter от Март 19, 2014, 23:14
Вот посмотри этот урок, тут есть пример как открыть 2ое окно.)
https://www.youtube.com/watch?v=csmiHwTXRdU

А чтоб  закрыть первое окно, просто допиши еще один сигнал на кнопку.
Код:
connect(ui->button,SIGNAL(clicked()), this, SLOT(close()));
Или проще в самом designer это сделать.


Название: Re: Открыть новое окно витжета
Отправлено: West727 от Март 20, 2014, 09:25
спасибо!