Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ QDialogButtonBox сигнал от кнопки Save

Автор: rrmini 21.4.2010, 10:34

В дизайнере создал форму с QDialogButtonBox,.
В QDialogButtonBox добавил стандарную кнопку save.
Вопрос: как получить от этой кнопки сигнал clicked() ?

я пытался сделать так :

connect(ui->buttonBox->button(QDialogButtonBox::Save),
            SIGNAL(clicked()), this, SLOT(save()));

не работает. слот save() не вызывает.

Автор: fsMark 21.4.2010, 10:42

посмотри что на консоль выводиться.. если соединение не произошло на консоль будет выведено сообщение об ошибке.

Автор: rrmini 21.4.2010, 10:46

Цитата(fsMark @ 21.4.2010, 11:42) *
посмотри что на консоль выводиться.. если соединение не произошло на консоль будет выведено сообщение об ошибке.


так и есть :
(<unknown>:7299): Gtk-WARNING **: GtkEntry - did not receive focus-out-event. If you
connect a handler to this signal, it must return
FALSE so the entry gets the event as well

Автор: Litkevich Yuriy 21.4.2010, 10:49

хм, а что здесь делает Gtk?

Автор: rrmini 21.4.2010, 10:55

Цитата(Litkevich Yuriy @ 21.4.2010, 11:49) *
хм, а что здесь делает Gtk?

это сообщение выскакивает когда я нажимаю на кнопку save.
пользуюсь Qt creator.

Автор: fsMark 21.4.2010, 11:00

Цитата(rrmini @ 21.4.2010, 11:55) *
это сообщение выскакивает когда я нажимаю на кнопку save.


Странное какоето сообщение).. посмотри что падает на консоль в момент создания соединения.

Автор: rrmini 21.4.2010, 11:03

Цитата(fsMark @ 21.4.2010, 12:00) *
Цитата(rrmini @ 21.4.2010, 11:55) *
это сообщение выскакивает когда я нажимаю на кнопку save.


Странное какоето сообщение).. посмотри что падает на консоль в момент создания соединения.


это все что есть на консоле приложения в creatore

Автор: fsMark 21.4.2010, 11:06

Цитата(rrmini @ 21.4.2010, 12:03) *
Цитата(fsMark @ 21.4.2010, 12:00) *
Цитата(rrmini @ 21.4.2010, 11:55) *
это сообщение выскакивает когда я нажимаю на кнопку save.


Странное какоето сообщение).. посмотри что падает на консоль в момент создания соединения.


это все что есть на консоле приложения в creatore


Тогда покажи как слот save() описан.

Автор: rrmini 21.4.2010, 11:17

Цитата
Тогда покажи как слот save() описан.


void PayDriverDialog::save()
{
     QMessageBox::information(0,"","save()");
}


пардон, слукавил.

в этом варианте как раз работает.

а в этом нет :
void PayDriverDialog::save()
{
    mapper->submit();
    pm->submitAll();
    pm->select();
//    QMessageBox::information(0,"","save()");
}


еще раз мои извинения.

в случае с обычным QMessageBox тоже выдает ошибку :

(<unknown>:7848): Gtk-WARNING **: GtkEntry - did not receive focus-out-event. If you
connect a handler to this signal, it must return
FALSE so the entry gets the event as well


слот то как раз таки вызывается , теперь возникает вопрос , чего собственно я хочу?
видимо понять что это за ошибка?

Автор: fsMark 21.4.2010, 11:26

"Gtk-WARNING **" - это явно не Qt генерит, используешь Gtk?, используешь что то что использует Gtk?

Автор: rrmini 21.4.2010, 11:29

Цитата(fsMark @ 21.4.2010, 12:26) *
"Gtk-WARNING **" - это явно не Qt генерит, используешь Gtk?, используешь что то что использует Gtk?


ubuntu 9.10 рабочий стол gnome. что еще может быть ?

Автор: fsMark 21.4.2010, 11:43

Цитата(rrmini @ 21.4.2010, 12:29) *
Цитата(fsMark @ 21.4.2010, 12:26) *
"Gtk-WARNING **" - это явно не Qt генерит, используешь Gtk?, используешь что то что использует Gtk?


ubuntu 9.10 рабочий стол gnome. что еще может быть ?


Ну насколько я знаю Qt на никсах работает через XWindow.. то есть от гнома не зависит.
Слот мы выяснили что вызывается.. в чем проблема?.. скорее всего в твоем коде который работает в слоте, пройдись дебагером посмотри где конкретно. Предполагаю что гном ругается на то что твое приложение плохо себя ведет)

Автор: rrmini 21.4.2010, 12:39

выясняются новые подробности. в форме, которую я создал в дизайнере имеется dateEdit c установленной галочкой calendarPopup.
галочку убираем и ошибка нет. Но календарь то мне нужен.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)