【问题标题】:Gtk assert fail c gtk_calendarGtk 断言失败 c gtk_calendar
【发布时间】:2013-12-07 05:41:52
【问题描述】:

我的 gtk+/C 代码断言失败,所以,我不知道为什么:

错误是:g_date_set_month: assertion 'g_date_valid_month (m)' failed

而疑似线路是:

t_day day; 
uint y, m, da;

gtk_calendar_get_date(GTK_CALENDAR(d->calendar), &y, &m, &da);

g_date_set_day(&day.date, da);
g_date_set_year(&day.date, y);
g_date_set_month(&day.date, m);

这是我使用 g_date_set_month() 的唯一函数。

感谢阅读

【问题讨论】:

    标签: c gtk assert glib


    【解决方案1】:

    GtkCalendar 返回 0-11 之间的月份值:

    month :存储月份编号的位置(介于 0 和 11 之间),或 无效的。 [out][allow-none]

    GDate 使用 1-12 之间的月份值(请参阅 setter 中使用的 internal representationenum type):

    guint 月:4;日-月-年表示 日期,为 1 到 12 之间的数字

    您可能需要在这两种格式之间进行转换。

    【讨论】:

      猜你喜欢
      • 2017-03-14
      • 2014-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多