进度条未使用C++代码和GTK+进行更新
Progress bar not updated using C++ code and GTK+
这是我使用GTK+的简单进度条的代码,但它似乎没有更新。我使用的是Ubuntu 14.04
//CodeGoes here
#include<gtk/gtk.h>
#include<cstring>
static float percentage =0.0;
static gboolean inc_prog(gpointer data){
percentage+=0.05;
if(percentage>1.0)
percentage=0.0;
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(data),percentage);
char ch[3];
sprintf(ch,"%d%%",static_cast<int>(percentage*100));
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(data),ch);
return TRUE; //Change Made Here
}
int main(int argc,char* argv[]){
gtk_init(&argc,&argv);
GtkWidget *window,*progress;
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(window,"delete-event",G_CALLBACK(gtk_main_quit),NULL);
progress=gtk_progress_bar_new();//define instance
g_timeout_add(300,inc_prog,progress);//delay of 300 ms
gtk_container_add(GTK_CONTAINER(window),progress);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
您从未从inc_prog()
返回值,这是未定义的行为。有关正确操作的详细信息,请参阅g_timeout_add()
的文档。
相关文章:
- 从C++本机插件更新Vector3数组
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- 如何在运行中期切换GTK CSS style_context
- cmake更新缓存的变量
- 更新到莫哈韦后出现cmath错误
- OpenMP:并行更新数组总是需要减少数组吗
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- 为什么我的变量没有更新,我的 LED 没有亮起?
- 指针没有更新它在void函数内部指向的值
- 如何在c++中获取要更新的值
- 已修改的LinkedList未在文本文件本身中更新
- Qt:当QListView获得新条目时,如何更新QStringList
- 更新的矢量元素不打印
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 如何使用 GTK 3 正确设置默认文本
- 进度条未使用C++代码和GTK+进行更新
- 更新标签文本 GTK+ C++
- 在多线程应用程序中更新GTK接口的最佳方法是什么?
- GTK+,如何将小部件更新到主循环中
- Gtk::标签更新标签速度