Hi, all:

Is it possible to overwrite Qt slot?

For instance:

CFather:
Qt Code:
  1. class CFather : public QMainWindow
  2. {
  3. Q_OBJECT
  4. .....
  5. protected slots:
  6. void about();
  7. }
  8.  
  9. void CFather::about()
  10. {
  11. QMessageBox::information(this,
  12. "Father",
  13. "......");
  14. }
To copy to clipboard, switch view to plain text mode 


CSon:
Qt Code:
  1. class CSon : public CFather
  2. {
  3. Q_OBJECT
  4. .....
  5. protected slots:
  6. void about();
  7. }
  8.  
  9. void CSon::about()
  10. {
  11. QMessageBox::information(this,
  12. "Son",
  13. "......");
  14. }
To copy to clipboard, switch view to plain text mode 


I just want to realize:

A CFather object will call CFather::about() when the menu item "about" is invoked.
A CSon object will call CSon::about() when the menu item "about" is invoked.
(Note: CFather and CSon are almost the same QMainWindow with only a little bit modification.
But, I just want the about() will invoke two different dialogs, with clear indication that this is a "Son" or a "Father" window)

I tried "virtual" already, but whenever I clicked "OK" on the poped CSon:about() QMessageBox, it will CSon QMessageBox once again. That is to say, I've got to click "OK" twice to close QMessageBox thoroughly.

How to deal with this problem?

Best Regards
JIA