#ifndef UCHART_H
#define UCHART_H
#include <QtGui>
{
public:
UChart();
~UChart();
protected:
private:
int m_width;
int m_fixed;
void scrollContentsBy(int dx, int dy);
void setScrollBars();
};
#endif // UCHART_H
#ifndef UCHART_H
#define UCHART_H
#include <QtGui>
class UChart : public QScrollArea
{
public:
UChart();
~UChart();
protected:
private:
int m_width;
int m_fixed;
void paintEvent(QPaintEvent *event);
void scrollContentsBy(int dx, int dy);
void resizeEvent(QResizeEvent *event);
void setScrollBars();
};
#endif // UCHART_H
To copy to clipboard, switch view to plain text mode
#include "UChart.h"
UChart::UChart()
setObjectName("UChart");
setStyleSheet(" #UChart { background: white } ");
setFrameStyle
(QFrame::NoFrame);
horizontalScrollBar()->setRange(0, 1);
}
UChart::~UChart(){}
int dx = horizontalScrollBar()->value();
int dy = verticalScrollBar()->value();
m_fixed = 100;
m_width = 300;
painter.translate(-dx, 0);
painter.setPen("#8e520c");
painter.
setBrush(QBrush("#fbf2a3"));
painter.drawRect(-1, -1, m_fixed, size().height()+1);
painter.setPen("#000000");
painter.drawText(m_fixed + 5, 50, "Hello World!");
setScrollBars();
}
void UChart::scrollContentsBy(int dx, int dy){
viewport
()->scroll
(dx, dy,
QRect(m_fixed,
0, m_width, size
().
height()));
}
//viewport()->scroll(dx, dy, QRect(m_fixed, 0, m_width, size().height()));
}
void UChart::setScrollBars(){
if(m_width > size().width()){
horizontalScrollBar()->setRange(0, m_width-size().width());
horizontalScrollBar()->setPageStep(m_width);
}else horizontalScrollBar()->setRange(0, 0);
}
#include "UChart.h"
UChart::UChart()
: QScrollArea(){
setObjectName("UChart");
setStyleSheet(" #UChart { background: white } ");
setFrameStyle(QFrame::NoFrame);
horizontalScrollBar()->setRange(0, 1);
}
UChart::~UChart(){}
void UChart::paintEvent(QPaintEvent *event){
int dx = horizontalScrollBar()->value();
int dy = verticalScrollBar()->value();
m_fixed = 100;
m_width = 300;
QPainter painter(viewport());
painter.translate(-dx, 0);
painter.setPen("#8e520c");
painter.setBrush(QBrush("#fbf2a3"));
painter.drawRect(-1, -1, m_fixed, size().height()+1);
painter.setPen("#000000");
painter.drawText(m_fixed + 5, 50, "Hello World!");
setScrollBars();
}
void UChart::scrollContentsBy(int dx, int dy){
viewport()->scroll(dx, dy, QRect(m_fixed, 0, m_width, size().height()));
}
void UChart::resizeEvent(QResizeEvent *event){
//viewport()->scroll(dx, dy, QRect(m_fixed, 0, m_width, size().height()));
}
void UChart::setScrollBars(){
if(m_width > size().width()){
horizontalScrollBar()->setRange(0, m_width-size().width());
horizontalScrollBar()->setPageStep(m_width);
}else horizontalScrollBar()->setRange(0, 0);
}
To copy to clipboard, switch view to plain text mode
Bookmarks