I have tried 2 things:
1. mouseDoubleClickEvent
It worked fine for unclickable widgets like QLabels but did not work for clickable ones like PlainTextEdit or PushButton.

2. eventFilter
Seems to work fine for QLabel as well.
It works for PlainTextEdit but not as intended. It detects a double click only if i click at the very edge of widget (what is like 1 pixel). If I double click the main widget area(where you can put text in) nothing really happens.

Qt Code:
  1. class myEventFilter: public QObject
  2. {
  3. public:
  4. myEventFilter(QObject *parent):QObject(parent) {};
  5.  
  6. bool eventFilter(QObject* object,QEvent* event)
  7. {
  8. if(event->type() == QEvent::MouseButtonDblClick)
  9. {
  10. qDebug() << "Widget double clicked";
  11. return true;
  12. }
  13. else
  14. return QObject::eventFilter(object,event);
  15. }
  16. };
To copy to clipboard, switch view to plain text mode 

Qt Code:
  1. ui->plainTextEdit->installEventFilter(new myEventFilter(this));
To copy to clipboard, switch view to plain text mode