Прощу прощения за назойливость но что то у мя совсем не ладиться с этими сигналами. Вообщем надо связать сигнал lastWindowClosed() от app со слотом onExit() из класса kmms. Конеект вроде прошёл но реакции нет. При этом нет никаких сообщений об ошибках.
main.cpp---------------
#include "kmms.h"
int main(int argc, char **argv)
{
QApplication app ( argc, argv );
kmms *player = new kmms; //create kmms :))
player->init(); //init
app.setMainWidget(player->getMainWindow()); //set main widget
app.connect(&app,SIGNAL(lastWindowClosed()),player,SLOT(onExit()));
return app.exec();
}
------------------------
kmms.cpp----------------
#include "kmms.h"
kmms::kmms()
{
}
kmms::~kmms()
{
}
void kmms::init()
{
//create object of all need class
mainw = new kmmsMainWindow(MAIN_WINDOW,Qt::WStyle_Customize | Qt::WStyle_NoBorder);
controlw = new kmmsControlWindow(CONTROL_WINDOW,Qt::WStyle_Customize | Qt::WStyle_NoBorder);
playlistw = new kmmsPlaylistWindow(PLAYLIST_WINDOW,Qt::WStyle_Customize | Qt::WStyle_NoBorder);
outw = new kmmsOutWindow(OUT_WINDOW,Qt::WStyle_Customize | Qt::WStyle_NoBorder);
config = new kmmsConfig(); //obj of config class
config->setWindowsProp(mainw,controlw,playlistw,outw); //set all prop of gui
//final stage, show its
mainw->show();
controlw->show();
playlistw->show();
}
QWidget* kmms::getMainWindow()
{
return mainw;
}
void kmms::onExit()
{
QMessageBox::information(
0,
"KMMS",
"You are now exit!!!"
);
// config->writeConfig(mainw, controlw, playlistw, outw);
}
------------------------
kmms.h------------------
#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
{
Q_OBJECT
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
};
------------------------
вообщем тут видно что при срабатывании сигнала должен появиться мессаджбокс но его нет :(
moc для kmms генериться ошибок нет но...
Может кто скажет что не так ???
Заранее спасибо!!!
Ответ на:
комментарий
от phoenix
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Опять связать сигнал со слотом :( (2005)
- Форум Проблемма с инклудами!!! (2005)
- Форум Передача виджета. (2005)
- Форум Загвоздка с QT... (2004)
- Форум сигнал-слот Qt (2015)
- Форум [Qt] сигнал-слот (2010)
- Форум Qt5, не проходит сигнал/слот (2016)
- Форум Что плохого в сигнало-слотах? (2009)
- Форум сигнал не лезет в слот (2007)
- Форум Удалить испускателя сигнала из слота Qt (2014)