Sometimes yes, sometimes not. Your question is way too generic to be able to give a specific answer.
I have a class like this
Qt Code:
  1. class PlotData
  2. {
  3. private :
  4. double *data;
  5.  
  6. public:
  7. PlotData()
  8. {
  9. data = new double[1000];
  10. }
  11. ~PlotData()
  12. {
  13. delete []data;
  14. }
  15. };
To copy to clipboard, switch view to plain text mode 

and a class which inherits QThread
Qt Code:
  1. class Thread:QThread
  2. {
  3.  
  4. Q_OBJECT
  5.  
  6. signals:
  7. void signal_process(PlotData*);
  8.  
  9. public:
  10. void run()
  11. {
  12. while(true)
  13. {
  14. PlotData *pd = new PlotData();
  15. emit signal_process(pd);
  16. }
  17. }
  18. };
To copy to clipboard, switch view to plain text mode 

now in the main gui thread i have a slot like void Delete_PlotData(PlotData*) .
Qt Code:
  1. connect(&thread,SIGNAL(signal_process(PlotData*)),this,Delete_PlotData(PlotData*)));
To copy to clipboard, switch view to plain text mode 

Now is it legal to call the PlotData destructor as below.
Qt Code:
  1. void Delete_PlotData(PlotData* pd)
  2. {
  3. pd->~PlotData() //Is this legal
  4. }
To copy to clipboard, switch view to plain text mode