crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Сегфолт при смене центрального виджета QMainWindow
Andrewshkovskii
  опции профиля:
сообщение 16.2.2009, 13:17
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Есть у меня QMainWindow. в нем отображается QWidget(MainWidget), c 3мя кнопочками. 1-ая кнопочка - Делает центральным (setCentraWidget) ещё один QWindget(Test1Widget). в этом виджите 2 кнопочки, одна не активна пока-что, другая должна возвращать фокус на MainWidget. делаю я это так :
описываю слот :
void ColorTest::BackToMainWindow()
{
    this->setCentralWidget(MainWidget);// this - указатель на мой QMainWindow
}


и соединяю с сигналом :

void ColorTest::SetConnectionsForTest1()
{
    //connect(SubmitAnswerTest,SIGNAL(clicked()),)
    connect(AbortTest1Button,SIGNAL(clicked()),this,SLOT(BackToMainWindow()));
}


Но при нажатии кнопочки AbotTest1Button - приложение завершается с ошибкой. В чем проблема?Ведь я менял центральный на test1Widget без проблем, а обратно - фиг. Может надо закрывать не "централизованные" виджеты?Пробывал - тоже самое.. в чем может быть проблема?

Сообщение отредактировал Litkevich Yuriy - 16.2.2009, 13:29
Причина редактирования: вместо параметра C++ используй cpp (англ.)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Andrewshkovskii
  опции профиля:
сообщение 16.2.2009, 14:00
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


void QMainWindow::setCentralWidget ( QWidget * widget )
Sets the given widget to be the main window's central widget.
Note: QMainWindow takes ownership of the widget pointer and deletes it at the appropriate time.
See also centralWidget().

.. Я так понимаю, вот эта строка :
".. of the widget pointer and deletes it at the appropriate time. " все и объясняет..как жеж быть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Andrewshkovskii   Сегфолт при смене центрального виджета QMainWindow   16.2.2009, 13:17
- - Andrewshkovskii   void QMainWindow::setCentralWidget ( QWidget * wid...   16.2.2009, 14:00
- - Litkevich Yuriy   а зачем тебе вообще менять центральный виджет?   16.2.2009, 14:14
- - Andrewshkovskii   Ну есть центральный виджет, в нем 2 кнопочки : Тес...   16.2.2009, 14:15
- - Litkevich Yuriy   Цитата(Andrewshkovskii @ 16.2.2009, 17:15...   16.2.2009, 14:17
- - Andrewshkovskii   Я нечайно там ctrl+Enter нажал, привыч перевода но...   16.2.2009, 14:20
- - Litkevich Yuriy   поставь центральный виджет, на панель инструментов...   16.2.2009, 14:20
- - Andrewshkovskii   То есть решение попроще отсутствует?..   16.2.2009, 14:22
- - Litkevich Yuriy   Цитата(Andrewshkovskii @ 16.2.2009, 17:22...   16.2.2009, 16:08
- - Litkevich Yuriy   можешь и без панели инструментов: в качестве центр...   16.2.2009, 17:10
- - Andrewshkovskii   Щас попробуюСпасибо.а вот то что виджеты уничтожаю...   16.2.2009, 18:08
- - Litkevich Yuriy   Цитата(Andrewshkovskii @ 16.2.2009, 21:08...   16.2.2009, 18:32
- - Andrewshkovskii   Ну я пробовал запустить - будет ошибка приложения,...   16.2.2009, 18:48
- - Andrewshkovskii   Немного подыму старую тему. Скажу честна - сел раз...   7.3.2009, 18:46


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 11:49