更新代码
This commit is contained in:
@@ -14,5 +14,7 @@ frmGifWidget::~frmGifWidget()
|
|||||||
|
|
||||||
void frmGifWidget::on_pushButton_clicked()
|
void frmGifWidget::on_pushButton_clicked()
|
||||||
{
|
{
|
||||||
|
//设置截图窗口置顶显示
|
||||||
|
GifWidget::Instance()->setWindowFlags(GifWidget::Instance()->windowFlags() | Qt::WindowStaysOnTopHint);
|
||||||
GifWidget::Instance()->show();
|
GifWidget::Instance()->show();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
#include "qdesktopservices.h"
|
#include "qdesktopservices.h"
|
||||||
#include "qfiledialog.h"
|
#include "qfiledialog.h"
|
||||||
#include "qurl.h"
|
#include "qurl.h"
|
||||||
|
#include "qtextcodec.h"
|
||||||
#include "qdebug.h"
|
#include "qdebug.h"
|
||||||
|
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))
|
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))
|
||||||
@@ -307,9 +308,21 @@ void GifWidget::record()
|
|||||||
int height = txtHeight->text().toInt();
|
int height = txtHeight->text().toInt();
|
||||||
fps = txtFps->text().toInt();
|
fps = txtFps->text().toInt();
|
||||||
|
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
|
//windows上需要先转码
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
|
||||||
|
QTextCodec *code = QTextCodec::codecForName("utf-8");
|
||||||
|
#else
|
||||||
|
QTextCodec *code = QTextCodec::codecForName("gbk");
|
||||||
|
#endif
|
||||||
|
const char *name = code->fromUnicode(fileName).constData();
|
||||||
|
#else
|
||||||
|
const char *name = fileName.toUtf8().constData();
|
||||||
|
#endif
|
||||||
|
|
||||||
gifWriter = new Gif::GifWriter;
|
gifWriter = new Gif::GifWriter;
|
||||||
bool bOk = gif.GifBegin(gifWriter, fileName.toLocal8Bit().data(), width, height, fps);
|
bool ok = gif.GifBegin(gifWriter, name, width, height, fps);
|
||||||
if (!bOk) {
|
if (!ok) {
|
||||||
delete gifWriter;
|
delete gifWriter;
|
||||||
gifWriter = 0;
|
gifWriter = 0;
|
||||||
return;
|
return;
|
||||||
@@ -331,7 +344,7 @@ void GifWidget::record()
|
|||||||
|
|
||||||
labStatus->setText(QString("录制完成 共 %1 帧").arg(count));
|
labStatus->setText(QString("录制完成 共 %1 帧").arg(count));
|
||||||
btnStart->setText("开始");
|
btnStart->setText("开始");
|
||||||
QDesktopServices::openUrl(QUrl(fileName));
|
QDesktopServices::openUrl(QUrl::fromLocalFile(fileName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,13 @@
|
|||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))
|
||||||
|
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Floor);
|
||||||
|
#endif
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
a.setFont(QFont("Microsoft Yahei", 9));
|
a.setFont(QFont("Microsoft Yahei", 9));
|
||||||
a.setWindowIcon(QIcon(":/image/gifwidget.ico"));
|
a.setWindowIcon(QIcon(":/image/gifwidget.ico"));
|
||||||
|
|||||||
Reference in New Issue
Block a user