#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.