Не совсем так, в документации к QSplitterHandle указано как установить свой хендл для разделителя (наследование и переопределение фабричного метода)
Ну приведенный пример вполне рботоспособен. Пока что не удалось одно сделать - приделать к хэндлу лауаут, что бы картинка лежала по центру сплиттера. В остальном такой трюк годится.
C++ (Qt)
class MySplitter : public QSplitter {
Q_OBJECT
public:
MySplitter(QWidget *parent = NULL);
virtual ~MySplitter();
protected:
virtual QSplitterHandle* createHandle(void);
};
class MySplitterHandle : public QSplitterHandle {
Q_OBJECT
public:
MySplitterHandle(Qt::Orientation orientation, QSplitter* parent);
virtual ~MySplitterHandle();
protected:
virtual void paintEvent(QPaintEvent* event);
};
C++ (Qt)
QSplitterHandle* MySplitter::createHandle() {
MySplitterHandle* SplitterHandle = new MySplitterHandle(orientation(), this);
...
...
return SplitterHandle;
}
void MySplitterHandle::paintEvent(QPaintEvent* event) {
...
...
}