Решил на днях посмотреть что за зверь такой Qt. И решил написать программу отличную от хеловорлда. 
Суть такая: при наведении мыши на конопку в лейбле отображается имя объекта (кнопки), если кто-то предложит другой вариант например через текст кнопки рад буду посмотреть. 
Программа вроде как обрабатывает события и имена кнопок в заглушке-месаже появляются исправно (в отлачике тоже всё ок). Но вот после отправки сиглала беда, слот сигнал не обрабатывает, и сиглал ведёт себя странно (при трасировке connect
а отладчик замирает в раздумьях при просмотре содержимого строки name_string). 
Немогу понять вчём дело почему не отсылается строка в сигнале, или не принимается слотом. 
Просьба не пинать, как говориться простить, понять и помочь.
ниже превожу код всего что есть... (много шелуши с настройками кнопок но удалять не стал)
main:#include <QtGui>
#include "Top_menu.h"
int main (int argc, char** argv)
{
    QApplication app(argc, argv);
    Top_menu top_menu;
    top_menu.show();
    return app.exec();
}
заголовочный файл меню:
#ifndef TOP_MENU_H
#define TOP_MENU_H
#include <QtGui>
#include "Name_Filter.h"
//===================================================================================
class Top_menu : public QWidget {
    Q_OBJECT
private:
    QStatusBar* statBar_info_top;
    QLabel* labelbut;
    Name_Filter* name_filter;
public:
    Top_menu(QWidget *parent_obj=0);
};
#endif // TOP_MENU_H
реализация меню:
#include <QtGui>
#include "Top_menu.h"
//=============================================================================
Top_menu :: Top_menu(QWidget *parent_obj/*=0*/)
        : QWidget(parent_obj)
{
 // Create object Name Filter
    name_filter = new Name_Filter;
 // Create label for Operation name
    labelbut = new QLabel("No operations");
    labelbut -> setMouseTracking(true);
 // Create Button Exit
    QPixmap exitpix("powerdown_top.jpg");
    QPushButton* pcmExit = new QPushButton ("&Exit");
    pcmExit -> setIcon(exitpix);
    pcmExit -> setIconSize(exitpix.size());
    pcmExit -> setDefault(true);
    pcmExit -> setObjectName("Exit to program");
    pcmExit -> setAttribute(Qt::WA_Hover);
    pcmExit->installEventFilter(new Name_Filter(pcmExit));
 // Create Button Ejik_v_tumane
    QPixmap settingspix("Ejik_v_tumane.jpg");
    QPushButton* pcmSettings = new QPushButton ("&Ejik_v_tumane");
    pcmSettings -> setIcon(settingspix);
    pcmSettings -> setIconSize(settingspix.size());
    pcmSettings -> setObjectName("Odin_Ejik_v_tumane");
    pcmSettings -> setAttribute(Qt::WA_Hover);
    pcmSettings->installEventFilter(new Name_Filter(pcmSettings));
 // Create Button Vtoroy_Ejik_v_tumane
    QPixmap rek_workpix("Vtoroy_Ejik_v_tumane.jpg");
    QPushButton* pcmRek_work = new QPushButton ("&Vtoroy_Ejik_v_tumane");
    pcmRek_work-> setIcon(rek_workpix);
    pcmRek_work -> setIconSize(rek_workpix.size());
    pcmRek_work -> setObjectName("Dva_Ejika_v_tumane");
    pcmRek_work -> setAttribute(Qt::WA_Hover);
    pcmRek_work->installEventFilter(new Name_Filter(pcmRek_work));
//  Slot configuration Name Batton
    QObject::connect(name_filter, SIGNAL(send_name_string(QString)), labelbut, SLOT(setText(QString)));
//    QObject::connect(name_filter, SIGNAL(send_name_string(const QString &)), labelbut, SLOT(setText(const QString &)));
//  Slot configuration
    connect(pcmExit, SIGNAL(clicked()), qApp, SLOT(quit()));
// Create StatusBar (info Top menu)
    statBar_info_top = new QStatusBar;
    statBar_info_top->showMessage("Operations: " +  labelbut->text(), 30000);
    statBar_info_top->setMinimumWidth(200);
 // Layout setup
    QHBoxLayout* phbxLayout = new QHBoxLayout;
    phbxLayout->setMargin(2);
    phbxLayout->addWidget(pcmRek_work);
    phbxLayout->addWidget(pcmSettings);
    phbxLayout->addWidget(pcmExit);
    QVBoxLayout* pvbxLayout = new QVBoxLayout;
    pvbxLayout->setSpacing(10);
    pvbxLayout->addLayout(phbxLayout);
    pvbxLayout->addWidget(labelbut);
    pvbxLayout->addWidget(statBar_info_top);
    setLayout(pvbxLayout);
    setWindowTitle(tr("Super Ejiki v0.01"));
    setFixedHeight(sizeHint().height());
    setFixedWidth(sizeHint().width());
}
заголовочный файл события
#ifndef NAME_FILTER_H
#define NAME_FILTER_H
#include <QObject>
//===================================================================================================
class Name_Filter : public QObject {
Q_OBJECT
private:
    QString name_string;
public:
    Name_Filter(QObject* parent_obj = 0);
protected:
    virtual bool eventFilter(QObject*, QEvent*);
signals:
    void send_name_string(QString);
   // void send_name_string(const QString &);
};
#endif // NAME_FILTER_H
реализация события:
#include <QtGui>
#include "Name_Filter.h"
//=================================================================================================
Name_Filter::Name_Filter(QObject* parent_obj/* =0*/)
    : QObject(parent_obj)
{
}
//=================================================================================================
/*virtual*/ bool Name_Filter::eventFilter(QObject* parent_obj, QEvent* pe)
            {
            if(pe->type() == QEvent::HoverEnter) {
                            name_string = parent_obj->objectName();
                            emit send_name_string(name_string);
                         //   QMessageBox::information(0, "String include", name_string);
                            return true;
                            }
            return false;
            }
Привёл всё как есть, извиняюсь за объём, но я не могу понять где зарыта собака.