GtkDialog事件问题,救急!已经一晚上睡不着了。
诸位,我的问题是如何处理GtkDialog信号。现在我想设计一个对话框,提示是否关闭主窗口,请大家帮我看看,为什么关闭时会提示错误:GLib-GObject-WARNING **: /build/buildd/glib2.0-2.16.4/gobject/gsignal.c:1669: signal `GTK_RESPONSE_REJECT' is invalid for instance `0x8424858'
源码如下:
#include "interface.h"
// 这个就是关闭窗口的指令
void close_window(GtkWidget *dialog,
//gchar *handle,
GtkWidget *window){
/* Close window without exit program*/
gtk_widget_destroy(window); //运行到这里出错,窗口无法关闭
}
//这个是取消按钮的回调,生成一个gtk_dialog,显示正常
void close_window_dialog(GtkButton *widget,
GtkWindow *window){
GtkWidget *dialogCloseWindow;
GtkWidget *lbClose;
GtkWidget *imgClose;
GtkWidget *hbClose;
/* Create a new dialog with one OK button. */
dialogCloseWindow = gtk_dialog_new_with_buttons ("Close Window",
GTK_WINDOW(window),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL,
GTK_RESPONSE_REJECT,
GTK_STOCK_OK,
GTK_RESPONSE_OK,
NULL);
gtk_widget_set_name(GTK_WIDGET(dialogCloseWindow),"modelwindow");
lbClose = gtk_label_new ("Do you want close this window?");
imgClose = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO,
GTK_ICON_SIZE_DIALOG);
hbClose = gtk_hbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (hbClose), 10);
gtk_box_pack_start_defaults (GTK_BOX (hbClose), imgClose);
gtk_box_pack_start_defaults (GTK_BOX (hbClose), lbClose);
/* Pack the dialog content into the dialog's GtkVBox. */
gtk_box_pack_start_defaults (GTK_BOX (GTK_DIALOG (dialogCloseWindow)->vbox),
hbClose);
gtk_widget_show_all (dialogCloseWindow);
/* Create the dialog as modal and destroy it when a button is clicked. */
gtk_dialog_run (GTK_DIALOG (dialogCloseWindow));
/* Dialog Event */
g_signal_connect (dialogCloseWindow,
"GTK_RESPONSE_REJECT",
G_CALLBACK (close_window),
(gpointer) window);
gtk_widget_destroy(dialogCloseWindow);
}
//主程序,我把无关部分已删除
void
create_winNewplan ( HildonProgram* hilpro )
{
…………………………………………
g_signal_connect (G_OBJECT (btCancel), "clicked",
G_CALLBACK (close_window_dialog),
(gpointer) winNewplan); //这里是主窗口点击按钮btCancel时的回调,
//可以看见对话框弹出。
…………………………………………
/* Show Window */
gtk_widget_show_all(GTK_WIDGET(winNewplan));
}
感谢大家赐教!!!
...全文
相关推荐
pfontview-0.1.3.tar.gz
GTKDialog是一个简化创建交互式对话框的库,适用于那些不希望或不需要编写复杂GUI代码的shell脚本开发者。
VIDEOSCRIPT-开源
在ffmpeg和gtkdialog中"揭示了项目依赖于两个关键的开源库:ffmpeg和gtkdialog。ffmpeg是一个强大的跨平台的音频和视频处理工具,可以用于转换、编辑和流式传输媒体文件。
system-tar-and-restore, 使用tar备份或者恢复系统,或者使用rsync进行传输.zip
本文介绍了一个基于gtkdialog的系统备份与恢复脚本。该脚本支持图形化操作,可进行环境变量设置、压缩、加密、多核心处理等备份选项,并能生成配置文件和删除旧备份。它还提供定时任务设置、分区选择、详细
demo2.2(GtkDialog C++ Demo).rar
本文介绍了如何在CMake项目中查找并链接gtkmm-3.0库,设置编译和链接路径,并成功生成可执行文件。
gtk-stock-icons2:显示 GTK 股票图标
gtk-stock-icons2显示一组 GTK 股票图标这个gtkdialog应用程序的灵感来自brokenman 为Porteous 编写的。 有两个主要区别: 将鼠标悬停在图标上不仅会显示图标名


