Dal momento che l'QSplitterHandle (che è ciò che la maggior parte della gente pensa come il 'splitter') è derivato da QWidget, è possibile aggiungere altri widget ad essa . Ecco cosa ho fatto per risolvere questo problema esatto in passato:
// Now add the line to the splitter handle
// Note: index 0 handle is always hidden, index 1 is between the two widgets
QSplitterHandle *handle = pSplitter->handle(1);
QVBoxLayout *layout = new QVBoxLayout(handle);
layout->setSpacing(0);
layout->setMargin(0);
QFrame *line = new QFrame(handle);
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);
layout->addWidget(line);
Questo aggiunge una linea incassata alla maniglia splitter. Puoi, ovviamente, scegliere un altro stile per il fotogramma line
o utilizzare qualcosa di completamente diverso come il widget che aggiungi al quadratino di splitter.
fonte
2010-04-01 21:56:02
Grazie mille :)! – Narek
Questo è fantastico. Vorrei solo aggiungere che preferisco un QHBoxLayout perché quindi posso assegnare un 'maximumWidth' (per gli splitter orizzontali) alla linea orizzontale. – Phlucious
Upvoted perché funziona, ma sembra davvero una soluzione maldestra per un bug Qt ... –