I'm working on a program that uses two QSplitters objects. Functionally this works without issue, but visually there is a significant difference between Linux and Windows.

On Linux, whatever theme I am currently using takes care of how to render the splitter handles. Here is a basic example:

On Linux:


However, in Windows, while the layout is the same, the handle that divides the sections is not visible.

On Windows:


Of course it is still there, but if one were to look at the program it would not be immediately obvious there was a splitter handle located there.

The problem is much more evident in a larger example.

On Linux:


On Windows:


I would like to see some sort of divider, perhaps something similar to how the QDockWidget's divider looks.

Here is the code I am using for the first example (written quickly since the 2nd example is too long to post):
Qt Code:
  1. #include <qapplication.h>
  2. #include <qframe.h>
  3. #include <qpushbutton.h>
  4. #include <qsplitter.h>
  5.  
  6. class gui : public QFrame {
  7. public:
  8. gui();
  9.  
  10. private:
  11. QSplitter* split;
  12.  
  13. QPushButton* left_button;
  14. QPushButton* right_button;
  15. };
  16.  
  17. gui::gui() {
  18. left_button = new QPushButton("Left");
  19. right_button = new QPushButton("Right");
  20.  
  21. split = new QSplitter(Qt::Horizontal, this);
  22. split->addWidget(left_button);
  23. split->addWidget(right_button);
  24. }
  25.  
  26. int main(int argc, char** argv) {
  27. QApplication app(argc, argv);
  28.  
  29. gui* w = new gui();
  30.  
  31. w->show();
  32.  
  33. app.exec();
  34.  
  35. delete w;
  36. return 0;
  37.  
  38. }
To copy to clipboard, switch view to plain text mode 

Has anyone else had this problem?
I have tried QSplitter::setHandleWidth() but it doesn't seem to do anything.