Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QDialogButtonBox сигнал от кнопки Save
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
rrmini
В дизайнере создал форму с QDialogButtonBox,.
В QDialogButtonBox добавил стандарную кнопку save.
Вопрос: как получить от этой кнопки сигнал clicked() ?

я пытался сделать так :
connect(ui->buttonBox->button(QDialogButtonBox::Save),
            SIGNAL(clicked()), this, SLOT(save()));

не работает. слот save() не вызывает.
fsMark
посмотри что на консоль выводиться.. если соединение не произошло на консоль будет выведено сообщение об ошибке.
rrmini
Цитата(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
хм, а что здесь делает Gtk?
rrmini
Цитата(Litkevich Yuriy @ 21.4.2010, 11:49) *
хм, а что здесь делает Gtk?

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


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


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


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


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


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


Тогда покажи как слот save() описан.
rrmini
Цитата
Тогда покажи как слот 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
"Gtk-WARNING **" - это явно не Qt генерит, используешь Gtk?, используешь что то что использует Gtk?
rrmini
Цитата(fsMark @ 21.4.2010, 12:26) *
"Gtk-WARNING **" - это явно не Qt генерит, используешь Gtk?, используешь что то что использует Gtk?


ubuntu 9.10 рабочий стол gnome. что еще может быть ?
fsMark
Цитата(rrmini @ 21.4.2010, 12:29) *
Цитата(fsMark @ 21.4.2010, 12:26) *
"Gtk-WARNING **" - это явно не Qt генерит, используешь Gtk?, используешь что то что использует Gtk?


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


Ну насколько я знаю Qt на никсах работает через XWindow.. то есть от гнома не зависит.
Слот мы выяснили что вызывается.. в чем проблема?.. скорее всего в твоем коде который работает в слоте, пройдись дебагером посмотри где конкретно. Предполагаю что гном ругается на то что твое приложение плохо себя ведет)
rrmini
выясняются новые подробности. в форме, которую я создал в дизайнере имеется dateEdit c установленной галочкой calendarPopup.
галочку убираем и ошибка нет. Но календарь то мне нужен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2021 IPS, Inc.