Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: DenTNT от Марта 23, 2011, 11:11



Название: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 11:11
Создал форму в QtDesigner, добавил ее в проект, следовал всем шагам, но... видимо что-то упустил.
Прошу помощи. Почему-то не работают слоты и сигналы. Работает только выход из программы, который я добавил в Дизайнере...
P.S. Чтобы не ходить вокруг да около, выкладываю все файлы "проекта", если не трудно, гляньте плз  ::)
first.zip (http://file.qip.ru/file/AssaIivg/first.html)

Заранее спасибо за помощь!


Название: Re: Не работают сигналы и слоты
Отправлено: Пантер от Марта 23, 2011, 11:16
Зачем ты в mainwindow.cpp опять создаешь акшены, которые создал в ui? Вот поэтому и не работает - не то коннектишь.


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 12:11
Зачем ты в mainwindow.cpp опять создаешь акшены, которые создал в ui? Вот поэтому и не работает - не то коннектишь.
Закоментил, но все равно не работает. Я же именно поэтому и начал создавать их "руками".
Буду признателен, если Вы исправите проект "как надо"  :-[


Название: Re: Не работают сигналы и слоты
Отправлено: Пантер от Марта 23, 2011, 12:45
Сейчас времени нет. :( Я тебе советую начать сначала: создать простенький проект не используя ui, т.е. сделать все в коде.


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 12:56
Сейчас времени нет. :( Я тебе советую начать сначала: создать простенький проект не используя ui, т.е. сделать все в коде.
Спасибо, но я с него и начал. Без UI у меня все работало, просто с UI вроде как правильнее ;)
Я подожду и неделю и две. Мне не к спеху, просто хочется научиться пользоваться Дизайнером.
Еще раз спасибо.


Название: Re: Не работают сигналы и слоты
Отправлено: serg_hd от Марта 23, 2011, 13:03
Я подожду и неделю и две. Мне не к спеху, просто хочется научиться пользоваться Дизайнером.
Нафига он тебе вообще нужен?? Ты программировать хочешь научиться или кнопашки перетягивать?


Название: Re: Не работают сигналы и слоты
Отправлено: Пантер от Марта 23, 2011, 13:05
Я дизайнер начал использовать через год-два знакомства с Кьютом. И то только из-за того, что обленился. :) Так что пиши в коде, лучше разбираться будешь.


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 13:06
Нафига он тебе вообще нужен?? Ты программировать хочешь научиться или кнопашки перетягивать?
Программировать я умею со времен DOS, а кнопочки перетягивать все как-то не представлялось случая ;)


Название: Re: Не работают сигналы и слоты
Отправлено: serg_hd от Марта 23, 2011, 13:08
От дизайнера этого, имхо, одни только неудобства. Плюс ко всему какой-то хлам вечно добавляет.


Название: Re: Не работают сигналы и слоты
Отправлено: Пантер от Марта 23, 2011, 13:09
Ну так запусти дизайнер, подвигай кнопочки, закрой и делай все в коде. ;)


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 13:14
Ну так запусти дизайнер, подвигай кнопочки, закрой и делай все в коде. ;)
Человек, который меня подсадил на Qt сказал, что я все делал не по фэн-шуй (типа нужно было делать не в коде, а в дизайнере), поэтому я и сел за него...  ???
Но это все оффтоп, прошу все же помочь мне с данной проблемой:
http://www.prog.org.ru/index.php?topic=17313.msg116077#msg116077 ;)


Название: Re: Не работают сигналы и слоты
Отправлено: m_ax от Марта 23, 2011, 13:42
Ничего удивительного в том, что не работают у вас сигналы)

Подправил слегка ваш проект и всё заработало ;)

А теперь Вы нам скажите, что вы сделали не так и почему сейчас всё работает?))


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 13:58
Подправил слегка ваш проект и всё заработало ;)
А теперь Вы нам скажите, что вы сделали не так и почему сейчас всё работает?))
Да и сейчас не работает, что я сейчас делаю не так?  ???
Могу скинуть экзешник...


Название: Re: Не работают сигналы и слоты
Отправлено: m_ax от Марта 23, 2011, 14:01
Подправил слегка ваш проект и всё заработало ;)
А теперь Вы нам скажите, что вы сделали не так и почему сейчас всё работает?))
Да и сейчас не работает, что я сейчас делаю не так?  ???
Могу скинуть экзешник...
Да, а у меня работает  ???
У меня Linux, экзешник не запустится...
Моментик, щас проверю ещё разок.


Название: Re: Не работают сигналы и слоты
Отправлено: m_ax от Марта 23, 2011, 14:04
У вас должно работать три экшена:
1) openAct
2) exitAct
3) aboutAct

Всё остальное делайте сами)


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 14:09
У вас должно работать три экшена:
1) openAct
2) exitAct
3) aboutAct

Всё остальное делайте сами)
На Ubuntu действительно все работает, а на Seven x64 нет  ???
Что за хрень? :)

На Семерке даже не запускается констуктор:
Код:
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent)
{
    setupUi(this);
    createActions();
    loadFile ("settings.ini");
 
}


Название: Re: Не работают сигналы и слоты
Отправлено: m_ax от Марта 23, 2011, 14:23
У вас должно работать три экшена:
1) openAct
2) exitAct
3) aboutAct

Всё остальное делайте сами)
На Ubuntu действительно все работает, а на Seven x64 нет  ???
Что за хрень? :)

На Семерке даже не запускается констуктор:
Код:
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent)
{
    setupUi(this);
    createActions();
    loadFile ("settings.ini");
 
}
Нет причин, чтобы не работало под виндой.. Вы ничего не напутали случаем?
Очистите весь проект и соберите заново.


Название: Re: Не работают сигналы и слоты
Отправлено: serg_hd от Марта 23, 2011, 14:24
На Ubuntu действительно все работает, а на Seven x64 нет  ???
Что за хрень? :)
у меня на xubuntu тоже работает. Наверное у тебя со сборкой Qt что-то под теми платформами.


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 14:26
Нет причин, чтобы не работало под виндой.. Вы ничего не напутали случаем?
Очистите весь проект и соберите заново.
Да, пересобрал с нуля, все заработало. Не загружается список из файла, программа вылетает, но этот косяк не имеет отношения к данной теме - разберусь.
Всем спасибо, буду дальше копать! ;D


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 15:19
Эээ, вопрос такой...
А listWidget, который я создал через Дизайнер, нужно как-то в конструкторе инициализировать? А то, это из-за него программа вылетает  ???


Название: Re: Не работают сигналы и слоты
Отправлено: Пантер от Марта 23, 2011, 15:20
То, что создал в дизайнере, инициализируется само и в h/cpp его не надо описывать/создавать.


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 15:30
То, что создал в дизайнере, инициализируется само и в h/cpp его не надо описывать/создавать.
Тогда опять нужна помощь - если пытаться добавить новый элемент в этот список, прога вылетает:
Код:
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent)
{
    setupUi(this);
    createActions();
    listWidget->addItem(new QListWidgetItem("Item 1"));

    loadFile ("settings.ini");
    //statusBar()->showMessage(tr("MainWindow::MainWindow(QWidget *parent)"), 2000);

}
   
В принципе, listWidget заполнялся из файла, но сейчас даже "руками" не хочет:
Код:
    listWidget->addItem(new QListWidgetItem("Item 1"));


Название: Re: Не работают сигналы и слоты
Отправлено: Пантер от Марта 23, 2011, 15:31
А его точно в mainwindow.h нет? ;)


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 23, 2011, 15:34
А его точно в mainwindow.h нет? ;)
С меня пиво  ;D


Название: Re: Не работают сигналы и слоты
Отправлено: Пантер от Марта 23, 2011, 15:40
Договорились. :)


Название: Re: Не работают сигналы и слоты
Отправлено: meego_man от Марта 24, 2011, 15:48
Тогда опять нужна помощь - если пытаться добавить новый элемент в этот список, прога вылетает:
Код:
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent)
{
    setupUi(this);
    createActions();
    listWidget->addItem(new QListWidgetItem("Item 1"));

    loadFile ("settings.ini");
    //statusBar()->showMessage(tr("MainWindow::MainWindow(QWidget *parent)"), 2000);

}
В принципе, listWidget заполнялся из файла, но сейчас даже "руками" не хочет:
Код:
    listWidget->addItem(new QListWidgetItem("Item 1"));
вылетает потому что в h файле listWidget сново определен, достаточно это определение удалить ;)


Название: Re: Не работают сигналы и слоты
Отправлено: Пантер от Марта 24, 2011, 16:08
Так, meego_man, не зарься на мое пиво. *ОЧЕНЬ_ЗЛОЙ_СМАЙЛИК* :)


Название: Re: Не работают сигналы и слоты
Отправлено: meego_man от Марта 24, 2011, 16:10
Так, meego_man, не зарься на мое пиво. *ОЧЕНЬ_ЗЛОЙ_СМАЙЛИК* :)
тут пива хватает (Heineken), у меня спортивный интерес  8)


Название: Re: Не работают сигналы и слоты
Отправлено: DenTNT от Марта 24, 2011, 16:34
вылетает потому что в h файле listWidget сново определен, достаточно это определение удалить ;)
Спасибо, но это уже исправили: ;)
http://www.prog.org.ru/index.php?topic=17313.msg116130#msg116130


Название: Re: Не работают сигналы и слоты
Отправлено: meego_man от Марта 24, 2011, 16:53
вылетает потому что в h файле listWidget сново определен, достаточно это определение удалить ;)
Спасибо, но это уже исправили: ;)
http://www.prog.org.ru/index.php?topic=17313.msg116130#msg116130
пардон, не понял тот комметарий :) буду внимательнее