Автор: 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.
галочку убираем и ошибка нет. Но календарь то мне нужен.