Вообщем потребовалось связать сигнал и слот, сигнал от QApplication обьекта app и обьекта класса kmms - player. Но проблемма в том что kmms это чистый класс не производный от чего либо в том числе и QObject, а проблемма в том что функция connect понимает только обьекты QObject, ну не долго думая я взял и сделал kmms : public QObject. Но только это не помогло так как надо, т.е. connect теперь вроде бы связывает app и player, но это только кажется, когда запускаешь прогу оно говорит
$ ./kmms
QObject::connect: No such slot QObject::onExit()
QObject::connect: (sender name: 'lt-kmms')
QObject::connect: (receiver name: 'unnamed')
(it-kmms это название проги, хотя прога и называется kmms только libtools почему то переименовывает её при запуске в it-kmms, но если её собрать и поставить make install то она запускается как надо)
тут видно что не виден обьект player и его слот.
А вот и код:
main.cpp---------------------
#include "kmms.h"
int main(int argc, char **argv)
{
QApplication app ( argc, argv );
kmms *player = new kmms;
player->init();
app.setMainWidget(player->getMainWindow());
app.connect(&app,SIGNAL(lastWindowClosed()),player,SLOT(onExit()));
return app.exec();
}
--------------------------------
kmms.cpp------------------------
#include "front/kmmsmainwindow.h"
#include "front/kmmscontrolwindow.h"
#include "front/kmmsplaylistwindow.h"
#include "front/kmmsoutwindow.h"
#include "front/kmmsscin.h"
#include "kmmsconfig.h"
//main class
class kmms : public QObject
{
public:
kmms(); //constructor
virtual ~kmms(); //deconstructor
void init(); //init function
QWidget* getMainWindow(); //get descriptor of main window, it need for set main widget
kmmsScin *scin; //scin
kmmsConfig *config; //config
kmmsMainWindow *mainw; //main window
kmmsControlWindow *controlw; //control window
kmmsPlaylistWindow *playlistw; //playlist window
kmmsOutWindow *outw; //out put window
public slots:
void onExit(); //on exit
};
--------------------------------
видно что слот на месте.
Может кто поможет понять как же связать такие обьекты, нужно что при выходе выполнялся код, вот поэтому я такое и пытаюсь соорудить.
Заранее спасибо!!!
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от olegk
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от olegk
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Несрабатывает слот от сигнала. (2005)
- Форум Проблемма с инклудами!!! (2005)
- Форум Пара вопросов по C++ (2014)
- Форум Qt: проблема со слотами... (2004)
- Форум не собирается QT (2006)
- Форум Qt5, не проходит сигнал/слот (2016)
- Форум [непонятно][qt-creator]Qt 4 сигнал-слот (2010)
- Форум QT connect SLOT (2007)
- Форум [QT]evaluateJavaScript (2012)
- Форум QTcpServer - слот для newConnection не вызывается (2016)