@@ -32,7 +32,8 @@ QMainWindow* mainWindow;
3232QMainWindow* tool;
3333QMainWindow* tool2;
3434
35- QSlider *scrollSlider;
35+ QSlider *scrollHSlider;
36+ QSlider *scrollVSlider;
3637
3738QWidget *mainWidget;
3839
@@ -68,6 +69,8 @@ class MainWindow : public QMainWindow {
6869
6970 }
7071
72+ #define SCROLLSIZE 22 *scale
73+
7174protected:
7275 void closeEvent (QCloseEvent *event){
7376 puts (" Close event" );
@@ -79,10 +82,16 @@ class MainWindow : public QMainWindow {
7982 mainWidget->setFixedSize (screen->size ().width (), screen->size ().height ());
8083 drawing->setFixedSize (screen->size ().width (), screen->size ().height ());
8184 board->setFixedSize (screen->size ().width (), screen->size ().height ());
82- scrollSlider->setFixedSize (event->size ().width (), 22 );
83- scrollSlider->move (0 , event->size ().height () - 22 );
84- scrollSlider->setRange (0 , screen->size ().width () - event->size ().width () );
85- scrollSlider->setVisible (screen->size ().width () > event->size ().width ());
85+
86+ scrollHSlider->setFixedSize (event->size ().width () - SCROLLSIZE*2 , SCROLLSIZE);
87+ scrollHSlider->move (SCROLLSIZE, event->size ().height () - SCROLLSIZE);
88+ scrollHSlider->setRange (0 , screen->size ().width () - event->size ().width () );
89+ scrollHSlider->setVisible (screen->size ().width () > event->size ().width ());
90+
91+ scrollVSlider->setFixedSize (SCROLLSIZE, event->size ().height () - SCROLLSIZE*2 );
92+ scrollVSlider->move (event->size ().width () - SCROLLSIZE, SCROLLSIZE);
93+ scrollVSlider->setRange (0 , screen->size ().height () - event->size ().height () );
94+ scrollVSlider->setVisible (screen->size ().height () > event->size ().height ());
8695
8796 printf (" %d %d\n " ,event->size ().width (), event->size ().height ());
8897 new_x = get_int ((char *)" cur-x" );
@@ -263,11 +272,19 @@ int main(int argc, char *argv[]) {
263272 " font-size: " +QString::number (18 *scale)+" px;"
264273 );
265274
266- scrollSlider = new QSlider (Qt::Horizontal, mainWindow);
267- QObject::connect (scrollSlider, &QSlider::valueChanged, [=](int value) {
268- mainWidget->move (-1 *value, 0 );
275+ scrollHSlider = new QSlider (Qt::Horizontal, mainWindow);
276+ scrollVSlider = new QSlider (Qt::Vertical, mainWindow);
277+
278+ QObject::connect (scrollHSlider, &QSlider::valueChanged, [=](int value) {
279+ mainWidget->move (-1 *value, mainWidget->y ());
280+ });
281+
282+ QObject::connect (scrollVSlider, &QSlider::valueChanged, [=](int value) {
283+ mainWidget->move (mainWidget->x (), value - scrollVSlider->maximum ());
269284 });
270285
286+ scrollVSlider->setValue (0 );
287+ scrollHSlider->setValue (0 );
271288 QScreen *screen = QGuiApplication::primaryScreen ();
272289 mainWindow->resize (screen->size ().width (), screen->size ().height ());
273290 mainWidget->setFixedSize (screen->size ().width (), screen->size ().height ());
0 commit comments