Lots of widget preperations for image editor

This commit is contained in:
2025-11-23 11:13:15 +01:00
parent 1978dbf52d
commit c2fb13325b
4 changed files with 2056 additions and 92 deletions
+48
View File
@@ -3,6 +3,7 @@
#include <QMessageBox>
#include <QDebug>
#include <QButtonGroup>
ImageEditorDialog::ImageEditorDialog(const QPixmap &pixmap, const QString &title, QWidget *parent) :
QDialog{parent},
@@ -23,6 +24,53 @@ ImageEditorDialog::ImageEditorDialog(const QPixmap &pixmap, const QString &title
m_ui->scrollArea->setBackgroundRole(QPalette::Dark);
{
auto group = new QButtonGroup{this};
group->setExclusive(true);
group->addButton(m_ui->toolButtonDraw);
group->addButton(m_ui->toolButtonSpray);
group->addButton(m_ui->toolButtonErase);
group->addButton(m_ui->toolButtonPick);
group->addButton(m_ui->toolButtonLine);
group->addButton(m_ui->toolButtonPolygon);
group->addButton(m_ui->toolButtonRectangle);
group->addButton(m_ui->toolButtonEllipse);
group->addButton(m_ui->toolButtonRoundedRectangle);
group->addButton(m_ui->toolButtonSelectRegion);
group->addButton(m_ui->toolButtonSelectWand);
group->addButton(m_ui->toolButtonSelectSpray);
group->addButton(m_ui->toolButtonText);
group->addButton(m_ui->toolButtonFill);
group->addButton(m_ui->toolButtonReplace);
}
{
auto group = new QButtonGroup{this};
group->setExclusive(true);
group->addButton(m_ui->pushButtonLine1);
group->addButton(m_ui->pushButtonLine2);
group->addButton(m_ui->pushButtonLine3);
group->addButton(m_ui->pushButtonLine4);
}
{
auto group = new QButtonGroup{this};
group->setExclusive(true);
group->addButton(m_ui->pushButtonBorder);
group->addButton(m_ui->pushButtonBorderFill);
group->addButton(m_ui->pushButtonFill);
}
{
auto group = new QButtonGroup{this};
group->setExclusive(true);
group->addButton(m_ui->toolButtonAlignLeft);
group->addButton(m_ui->toolButtonCenter);
group->addButton(m_ui->toolButtonAlignRight);
}
m_ui->toolButtonDraw->click();
m_ui->canvas->setPixmap(m_pixmap);
}
File diff suppressed because it is too large Load Diff
@@ -2,6 +2,7 @@
#include <QPixmap>
#include <QPainter>
#include <QMouseEvent>
DrawingCanvasWidget::DrawingCanvasWidget(QWidget *parent) :
QWidget{parent}
@@ -57,3 +58,28 @@ void DrawingCanvasWidget::paintEvent(QPaintEvent *ev)
painter.drawPixmap(rect(), *m_pixmap);
}
void DrawingCanvasWidget::mousePressEvent(QMouseEvent *event)
{
QWidget::mousePressEvent(event);
if (event->button() == Qt::LeftButton)
{
setMouseTracking(true);
}
}
void DrawingCanvasWidget::mouseReleaseEvent(QMouseEvent *event)
{
QWidget::mouseReleaseEvent(event);
if (event->button() == Qt::LeftButton)
{
setMouseTracking(false);
}
}
void DrawingCanvasWidget::mouseMoveEvent(QMouseEvent *event)
{
QWidget::mouseMoveEvent(event);
}
+3
View File
@@ -23,6 +23,9 @@ signals:
protected:
void paintEvent(QPaintEvent *ev) override;
void mousePressEvent(QMouseEvent *event) override;
void mouseReleaseEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
private:
QPixmap *m_pixmap{};