add screenshot function

This commit is contained in:
Anakin 2017-01-11 16:28:51 +01:00
parent 77ffe7baf4
commit 930c49e9c7
4 changed files with 17 additions and 1 deletions

View File

@ -20,10 +20,11 @@ private:
QByteArray m_fileInfo;
private slots:
private:
void openFile();
void aboutFile();
void aboutTool();
void takeScreenShot();
public slots:
void printMessage(QString message, int severity);

View File

@ -8,6 +8,7 @@
</qresource>
<qresource prefix="/files">
<file>about.txt</file>
<file>stylesheet.txt</file>
</qresource>
<qresource prefix="/images/toolbar">
<file>placeholder.png</file>
@ -17,5 +18,6 @@
<file>X.png</file>
<file>Y.png</file>
<file>Z.png</file>
<file>screenshot.png</file>
</qresource>
</RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -54,6 +54,10 @@ void MainWindow::setupWidgets()
connect(openFile, &QAction::triggered, this, &MainWindow::openFile);
ui->mainToolBar->addAction(openFile);
QAction *screenShot = new QAction(QIcon(":/images/toolbar/screenshot.png"), "Screenshot", this);
connect(screenShot, &QAction::triggered, this, &MainWindow::takeScreenShot);
ui->mainToolBar->addAction(screenShot);
ui->mainToolBar->addSeparator();
QSignalMapper* signalMapper = new QSignalMapper(this);
@ -130,6 +134,15 @@ void MainWindow::aboutTool()
delete dialog;
}
void MainWindow::takeScreenShot()
{
QString destination = QFileDialog::getSaveFileName(this, "Save as...", "", "PNG (*.png);; BMP (*.bmp);;TIFF (*.tiff, *.tif);;JPEG (*.jpg *jpeg)");
OglViewerWidget* viewer = dynamic_cast<OglViewerWidget*>(centralWidget());
if (!destination.isEmpty() && viewer != NULL)
viewer->grab().save(destination);
}
void MainWindow::setFileInfo(QString name, QStringList textures, int vertices, int triangle)
{
m_fileInfo = QByteArray("Filename: ");