Quote Originally Posted by moowy
I have a qmainwindow and in it 2 dockwidgets(left,bottom) and a qworkspace.
the problem is that the left one draws QDockSeparator on the right and on the bottom at his borders. I only want him to draw the QDockSeparator on the bottom border. How could I achieve this???
QDockSeparators are created/shown/hidden on the fly when needed. You cannot delete them or a crash will occur. You will have to monitor for every movement and possibly resize events too, and hide the separator again and again by hand when appropriate.

You can find the QDockSeparators like this:
Qt Code:
  1. // Notice this (from qdockseparator_p.h):
  2.  
  3. //
  4. // W A R N I N G
  5. // -------------
  6. //
  7. // This file is not part of the Qt API. It exists purely as an
  8. // implementation detail. This header file may change from version to
  9. // version without notice, or even be removed.
  10. //
  11. // We mean it.
  12. //
  13. #include <private/qdockseparator_p.h>
  14. ...
  15. // notice that QDockSeparators are children of QMainWindow, not children of QDockWidget
  16. foreach (QObject* obj, children())
  17. {
  18. if (QString(obj->metaObject()->className()) == "QDockSeparator")
  19. {
  20. QDockSeparator* sep = qobject_cast<QDockSeparator*>(obj);
  21. if (sep && sep->orientation == Qt::Vertical)
  22. {
  23. ...
  24. }
  25. }
  26. }
To copy to clipboard, switch view to plain text mode