gif提取帧
#include "alt_key.hpp"
#include "aqp.hpp"
#include "jingleaction.hpp"
#include "mainwindow.hpp"
#include <QApplication>
#include <QFileDialog>
#include <QHBoxLayout>
#include <QImageWriter>
#include <QLabel>
#include <QList>
#include <QMenu>
#include <QMenuBar>
#include <QMovie>
#include <QStatusBar>
#include <QToolBar>
const int StatusTimeout = AQP::MSecPerSecond * 5;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), movieState(NoMovie)
{
movie = new QMovie(this);
createActions();
createMenusAndToolBar();
createWidgets();
createLayout();
createConnections();
AQP::accelerateMenu(menuBar());
updateUi();
statusBar()->showMessage(tr("Open a Movie file to start..."),
StatusTimeout);
setWindowTitle(QApplication::applicationName());
}
void MainWindow::createActions()
{
jinglePath = AQP::applicationPathOf("jingles");
imagePath = AQP::applicationPathOf("images");
fileOpenAction = new JingleAction(
jinglePath + "/fileopen.wav",
QIcon(imagePath + "/fileopen.png"), tr("Open..."), this);
fileOpenAction->setShortcuts(QKeySequence::Open);
fileSaveAction = new JingleAction(
jinglePath + "/filesave.wav",
QIcon(imagePath + "/filesave.png"), tr("Save"), this);
fileSaveAction->setShortcuts(QKeySequence::Save);
fileSaveAction->setEnabled(false);
fileQuitAction = new QAction(
QIcon(imagePath + "/filequit.png"), tr("Quit"), this);
fileMuteJinglesAction = new JingleAction(
jinglePath + "/filemutej