Interactive Mandelbrot viewer with Qt and OpenGL.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1000 B

#include <QVBoxLayout>
#include <QSlider>
#include <QLabel>
#include <iostream>
#include "../headers/MainWindow.h"
3 years ago
MainWindow::MainWindow() {
buildUI();
}
void MainWindow::buildUI() {
3 years ago
resize(700, 700);
auto iterationsCaption = new QLabel("Iteration count:");
auto iterationsLabel = new QLabel;
//iterationsLabel->setAlignment(Qt::AlignRight);
3 years ago
auto iterationsSlider = new QSlider(Qt::Horizontal);
iterationsSlider->setRange(5, 300);
connect(
3 years ago
iterationsSlider,
&QSlider::valueChanged,
this,
[iterationsLabel, this](int value) -> void {
this->outputWidget->getMandelbrot()->setIterations(value);
this->outputWidget->update();
iterationsLabel->setNum(value);
});
3 years ago
iterationsSlider->setValue(100);
auto controls = new QGridLayout;
controls->addWidget(iterationsCaption, 1, 1);
controls->addWidget(iterationsLabel, 1, 2);
controls->addWidget(iterationsSlider, 1, 3);
3 years ago
auto lyt = new QVBoxLayout(this);
lyt->addWidget(outputWidget);
lyt->addLayout(controls);
}