QT文件读写和多线程问题

编程晓菜狗 2020-06-26 06:18:00
多线程压缩文件程序里面怎么确定新文件已经压缩完毕,我尝试获取新文件大小,但是程序会崩溃
...全文
7083 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
芒果黑 2021-03-11
  • 打赏
  • 举报
回复
功能是啥样的 压缩完就发信号出来不行吗 问题点是在哪里
PepperEggFriedRice 2021-03-10
  • 打赏
  • 举报
回复
引用 1 楼 boylafong 的回复:
老早研究过这个问题,给个我收藏的吧 http://blog.leanote.com/post/paprikaxiong/a03355cd4dfe
博客没了 老哥麻烦说下大概意思?
xiongmao_er 2020-12-14
  • 打赏
  • 举报
回复
引用 1 楼 boylafong 的回复:
老早研究过这个问题,给个我收藏的吧 http://blog.leanote.com/post/paprikaxiong/a03355cd4dfe
过期了兄弟,能更新一下么
dinjay 2020-06-30
  • 打赏
  • 举报
回复
引用 1 楼 boylafong 的回复:
老早研究过这个问题,给个我收藏的吧
http://blog.leanote.com/post/paprikaxiong/a03355cd4dfe


这个好
boylafong 2020-06-28
  • 打赏
  • 举报
回复
老早研究过这个问题,给个我收藏的吧 http://blog.leanote.com/post/paprikaxiong/a03355cd4dfe
Qt Creator 多线程读取文件到程序显示 利用QT Creator多任务读取一个文档到程序里 为了防止直接读取文件里的内容太大而发生卡顿,于是多线程读取将更高效的解决这个问题。 效果图如下: 其中pro文件无需改动,默认就好,头文件h里面的内容为 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MyObj; class MyObj : public QObject { Q_OBJECT public: MyObj(); //新的线程 signals: void toLine(QString line); private slots: void doWork(); }; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void appendText(QString); //定义一个槽 private: Ui::MainWindow *ui; QThread *t; MyObj *obj; }; #endif // MAINWINDOW_H 而MAIN主文件的内容为了防止中文乱码做了如下修改: #include "mainwindow.h" #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv); //设置中文字体 防止乱码 a.setFont(QFont("Microsoft Yahei", 9)); //设置中文编码 #if (QT_VERSION <= QT_VERSION_CHECK(5,0,0)) #if _MSC_VER QTextCodec *codec = QTextCodec::codecForName("GBK"); #else QTextCodec *codec = QTextCodec::codecForName("UTF-8"); #endif QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::setCodecForTr(codec); #else QTextCodec *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForLocale(codec); #endif MainWindow w; w.show(); return a.exec(); } 接下来重点来了,源文件CPP里为 #include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); t = new QThread(); //QThread obj = new MyObj(); obj->moveToThread(t); qDebug()<<"main thread:"<<QThread::currentThread(); connect(t,SIGNAL(started()), obj, SLOT(doWork())); connect(obj,SIGNAL

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧