更新代码

This commit is contained in:
feiyangqingyun
2021-08-25 14:30:11 +08:00
parent b48571c96d
commit f0c5a3d347
3 changed files with 22 additions and 3 deletions

View File

@@ -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();
} }

View File

@@ -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));
} }
} }

View File

@@ -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"));