#include "scrollarea.h" ScrollArea::ScrollArea(QWidget *parent, QScrollBar *scrollbar) : QScrollArea(parent) { setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setVerticalScrollBar(scrollbar); setViewportMargins(50, 50, 50, 50); } ScrollArea::~ScrollArea() { } void ScrollArea::resizeEvent(QResizeEvent *event) { setViewportMargins(0, 0, 50, 0); QScrollArea::resizeEvent(event); } #include "scrollbar.h" ScrollBar::ScrollBar(Qt::Orientation orientation, QWidget *parent): QScrollBar(orientation, parent) { setMaximumWidth(48); setMinimumWidth(48); /* Center Body */ this->setStyleSheet(QString("QScrollBar:vertical {" "background: #333333;" "margin: 46px 0 46px 0;" "}" /*Slider*/ "QScrollBar::handle:vertical {" "border: none;" "background: #4b4b4b;" "}" /* Down button */ "QScrollBar::add-line:vertical {" "background: none;" "height: 48px;" "subcontrol-position: bottom;" "subcontrol-origin: margin;" "}" /*Up-button*/ "QScrollBar::sub-line:vertical {" "background: none;" "height: 48px;" "subcontrol-position: top;" "subcontrol-origin: margin;" "}" /* add-page, sub-page subcontrol*/ "QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {" "background: none;" "}" /*up arrow normal state*/ "QScrollBar::up-arrow:vertical {" "image: url(:/Images/scroll-uparrow);" "width: 48px;" "height: 46px;" "}" /* down arrow normal state*/ "QScrollBar::down-arrow:vertical {" "image: url(:/Images/scroll-downarrow);" "width: 48px;" "height: 46px;" "}" /* up arrow pressed*/ "QScrollBar::up-arrow:vertical:pressed {" "image: url(:/Images/scroll-uparrow-hit);" "width: 48px;" "height: 46px;" "}" /* down arrow pressed*/ "QScrollBar::down-arrow:vertical:pressed {" "image: url(:/Images/scroll-downarrow-hit);" "width: 48px;" "height: 46px;" "}")); } ScrollBar::~ScrollBar() { } #include "scrollbar.h" #include "myscrollbar.h" #include "scrollwidget.h" #include "scrollarea.h" #include <QApplication> #include <QVBoxLayout> #include <QSize> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *mainWindow = new QWidget; ScrollBar *scrollBar = new ScrollBar(Qt::Vertical, mainWindow); ScrollArea *scrollArea = new ScrollArea(mainWindow, scrollBar); QVBoxLayout *layout = new QVBoxLayout; mainWindow->setWindowTitle("Scroll"); layout->addWidget(scrollArea); mainWindow->setLayout(layout); mainWindow->show(); return a.exec(); } Sorry, for the annoying text format. What is the tag to insert code.
Forum Rules
Bookmarks