测试环境 CentOS6.X 64bit安装gtk
gtk版本
找了一圈没有找到gtk的messagebox相关的函数,只好写了个简单的
void MessageBoxA(gchar *ShowText)
{
GtkWidget *MessageBoxWindow; //新建窗口
GtkWidget *fixed=gtk_fixed_new(); //固定容器
GtkWidget *labelnew; //显示内容的label标签
MessageBoxWindow=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_resizable((GtkWindow *)MessageBoxWindow,FALSE); //禁止拖动大小,也就隐藏了最大化按钮
gtk_window_set_position((GtkWindow *)MessageBoxWindow,GTK_WIN_POS_CENTER_ALWAYS);//居中
gtk_widget_set_size_request(MessageBoxWindow,280,180);//窗口大小
gtk_signal_connect(GTK_OBJECT(MessageBoxWindow),"destroy",GTK_SIGNAL_FUNC(CloseWindow),NULL);// X按钮的回调函数
gtk_window_set_title(GTK_WINDOW(MessageBoxWindow),g_locale_to_utf8("MessageBox",-1,NULL,NULL,NULL));//标题名称,可以设置成中文
gtk_container_add(GTK_CONTAINER(MessageBoxWindow),fixed) ;//固定容器添加到窗口
labelnew=gtk_label_new("");
gtk_fixed_put(GTK_FIXED(fixed),labelnew,20,90);//lable添加到容器中
gtk_label_set_text(GTK_LABEL(labelnew),g_convert(ShowText,-1,"UTF-8","GB2312",NULL,NULL,NULL));//要显示的字符串显示到label中
gtk_widget_show_all(MessageBoxWindow); //show 所有窗口
gtk_main(); //gtk消息循环
}
每次调用传入相应的showtext就好了
MessageBoxA("打包成功,当前目录下log.tar.gz!");
对了,makefile
实际上test.c还有个sftp下载的功能,在界面上可以点击按钮下载,代码内放入相应的远程ip user password、remotepat等相应的参数,即可,有时间整理下在传上来 libssh2 链接https://www.libssh2.org/examples/