Gtk2.0+libcurl一个下载进度条程序

最近在做一个应用,应用中有一个功能是自动更新,我使用了libcurl库
但是我想要的下载文件的时候有一个进度条,进度条在Gtk2中可以使用GtkProgressBar构件
而想要得到下载进度的话我们需要在设置CURLOPT_NOPROGRESS CURLOPT_PROGRESSDATA CURLOPT_PROGRESSFUNCTION选项
下面我上代码

这里注意一下就是线程的使用,程序在curl_easy_perform时候会直到文件下载完成才会退出,所以如果我们想动态更新我们的进度条构件的话就需要使用线程了,然后Gtk是线程不安全的,所以我们需要使用gdk_threads_enter与gdk_threads_leave将对构件的操作包围起来进行线程同步,不然会有意想不到的错误

–阅读次数(50)

发表评论

电子邮件地址不会被公开。

*