- 浏览: 4423882 次
- 性别:
- 来自: 湛江
博客专栏
-
SQLite源码剖析
浏览量:80247
-
WIN32汇编语言学习应用...
浏览量:70671
-
神奇的perl
浏览量:103843
-
lucene等搜索引擎解析...
浏览量:287073
-
深入lucene3.5源码...
浏览量:15089
-
VB.NET并行与分布式编...
浏览量:68096
-
silverlight 5...
浏览量:32429
-
算法下午茶系列
浏览量:46190
文章分类
最新评论
-
yoyo837:
counters15 写道目前只支持IE吗?插件的东西是跨浏览 ...
Silverlight 5 轻松开启绚丽的网页3D世界 -
shuiyunbing:
直接在前台导出方式:excel中的单元格样式怎么处理,比如某行 ...
Flex导出Excel -
di1984HIT:
写的很好~
lucene入门-索引网页 -
rjguanwen:
在win7 64位操作系统下,pygtk的Entry无法输入怎 ...
pygtk-entry -
ldl_xz:
http://www.9958.pw/post/php_exc ...
PHPExcel常用方法汇总(转载)
#!/usr/bin/env python import pygtk pygtk.require('2.0') import gtk, pango import time class CalendarExample: DEF_PAD = 10 DEF_PAD_SMALL = 5 TM_YEAR_BASE = 1900 calendar_show_header = 0 calendar_show_days = 1 calendar_month_change = 2 calendar_show_week = 3 def calendar_date_to_string(self): year, month, day = self.window.get_date() mytime = time.mktime((year, month+1, day, 0, 0, 0, 0, 0, -1)) return time.strftime("%x", time.localtime(mytime)) def calendar_set_signal_strings(self, sig_str): prev_sig = self.prev_sig.get() self.prev2_sig.set_text(prev_sig) prev_sig = self.last_sig.get() self.prev_sig.set_text(prev_sig) self.last_sig.set_text(sig_str) def calendar_month_changed(self, widget): buffer = "month_changed: %s" % self.calendar_date_to_string() self.calendar_set_signal_strings(buffer) def calendar_day_selected(self, widget): buffer = "day_selected: %s" % self.calendar_date_to_string() self.calendar_set_signal_strings(buffer) def calendar_day_selected_double_click(self, widget): buffer = "day_selected_double_click: %s" buffer = buffer % self.calendar_date_to_string() self.calendar_set_signal_strings(buffer) year, month, day = self.window.get_date() if self.marked_date[day-1] == 0: self.window.mark_day(day) self.marked_date[day-1] = 1 else: self.window.unmark_day(day) self.marked_date[day-1] = 0 def calendar_prev_month(self, widget): buffer = "prev_month: %s" % self.calendar_date_to_string() self.calendar_set_signal_strings(buffer) def calendar_next_month(self, widget): buffer = "next_month: %s" % self.calendar_date_to_string() self.calendar_set_signal_strings(buffer) def calendar_prev_year(self, widget): buffer = "prev_year: %s" % self.calendar_date_to_string() self.calendar_set_signal_strings(buffer) def calendar_next_year(self, widget): buffer = "next_year: %s" % self.calendar_date_to_string() self.calendar_set_signal_strings(buffer) def calendar_set_flags(self): options = 0 for i in range(5): if self.settings[i]: options = options + (1<<i) if self.window: self.window.display_options(options) def calendar_toggle_flag(self, toggle): j = 0 for i in range(5): if self.flag_checkboxes[i] == toggle: j = i self.settings[j] = not self.settings[j] self.calendar_set_flags() def calendar_font_selection_ok(self, button): self.font = self.font_dialog.get_font_name() if self.window: font_desc = pango.FontDescription(self.font) if font_desc: self.window.modify_font(font_desc) def calendar_select_font(self, button): if not self.font_dialog: window = gtk.FontSelectionDialog("Font Selection Dialog") self.font_dialog = window window.set_position(gtk.WIN_POS_MOUSE) window.connect("destroy", self.font_dialog_destroyed) window.ok_button.connect("clicked", self.calendar_font_selection_ok) window.cancel_button.connect_object("clicked",lambda wid: wid.destroy(),self.font_dialog) window = self.font_dialog if not (window.flags() & gtk.VISIBLE): window.show() else: window.destroy() self.font_dialog = None def font_dialog_destroyed(self, data=None): self.font_dialog = None def __init__(self): flags = [ "Show Heading", "Show Day Names", "No Month Change", "Show Week Numbers", ] self.window = None self.font = None self.font_dialog = None self.flag_checkboxes = 5*[None] self.settings = 5*[0] self.marked_date = 31*[0] window = gtk.Window(gtk.WINDOW_TOPLEVEL) window.set_title("Calendar Example") window.set_border_width(5) window.connect("destroy", lambda x: gtk.main_quit()) window.set_resizable(False) vbox = gtk.VBox(False, self.DEF_PAD) window.add(vbox) # The top part of the window, Calendar, flags and fontsel. hbox = gtk.HBox(False, self.DEF_PAD) vbox.pack_start(hbox, True, True, self.DEF_PAD) hbbox = gtk.HButtonBox() hbox.pack_start(hbbox, False, False, self.DEF_PAD) hbbox.set_layout(gtk.BUTTONBOX_SPREAD) hbbox.set_spacing(5) # Calendar widget frame = gtk.Frame("Calendar") hbbox.pack_start(frame, False, True, self.DEF_PAD) calendar = gtk.Calendar() self.window = calendar self.calendar_set_flags() calendar.mark_day(19) self.marked_date[19-1] = 1 frame.add(calendar) calendar.connect("month_changed", self.calendar_month_changed) calendar.connect("day_selected", self.calendar_day_selected) calendar.connect("day_selected_double_click", self.calendar_day_selected_double_click) calendar.connect("prev_month", self.calendar_prev_month) calendar.connect("next_month", self.calendar_next_month) calendar.connect("prev_year", self.calendar_prev_year) calendar.connect("next_year", self.calendar_next_year) separator = gtk.VSeparator() hbox.pack_start(separator, False, True, 0) vbox2 = gtk.VBox(False, self.DEF_PAD) hbox.pack_start(vbox2, False, False, self.DEF_PAD) # Build the Right frame with the flags in frame = gtk.Frame("Flags") vbox2.pack_start(frame, True, True, self.DEF_PAD) vbox3 = gtk.VBox(True, self.DEF_PAD_SMALL) frame.add(vbox3) for i in range(len(flags)): toggle = gtk.CheckButton(flags[i]) toggle.connect("toggled", self.calendar_toggle_flag) vbox3.pack_start(toggle, True, True, 0) self.flag_checkboxes[i] = toggle self.flag_checkboxes[i] = toggle # Build the right font-button button = gtk.Button("Font...") button.connect("clicked", self.calendar_select_font) vbox2.pack_start(button, False, False, 0) # Build the Signal-event part. frame = gtk.Frame("Signal events") vbox.pack_start(frame, True, True, self.DEF_PAD) vbox2 = gtk.VBox(True, self.DEF_PAD_SMALL) frame.add(vbox2) hbox = gtk.HBox (False, 3) vbox2.pack_start(hbox, False, True, 0) label = gtk.Label("Signal:") hbox.pack_start(label, False, True, 0) self.last_sig = gtk.Label("") hbox.pack_start(self.last_sig, False, True, 0) hbox = gtk.HBox (False, 3) vbox2.pack_start(hbox, False, True, 0) label = gtk.Label("Previous signal:") hbox.pack_start(label, False, True, 0) self.prev_sig = gtk.Label("") hbox.pack_start(self.prev_sig, False, True, 0) hbox = gtk.HBox (False, 3) vbox2.pack_start(hbox, False, True, 0) label = gtk.Label("Second previous signal:") hbox.pack_start(label, False, True, 0) self.prev2_sig = gtk.Label("") hbox.pack_start(self.prev2_sig, False, True, 0) bbox = gtk.HButtonBox () vbox.pack_start(bbox, False, False, 0) bbox.set_layout(gtk.BUTTONBOX_END) button = gtk.Button("Close") button.connect("clicked", lambda w: gtk.main_quit()) bbox.add(button) button.set_flags(gtk.CAN_DEFAULT) button.grab_default() window.show_all() def main(): gtk.main() return 0 if __name__ == "__main__": CalendarExample() main()
calendar.display_options(flags)
使用OR操作符,每个标志占一位
CALENDAR_SHOW_HEADING this option specifies that the month and year should be shown when
drawing the calendar.
CALENDAR_SHOW_DAY_NAMES this option specifies that the three letter descriptions should be displayed
for each day (e.g. Mon,Tue, etc.).
CALENDAR_NO_MONTH_CHANGE this option states that the user should not and can not change the currently
displayed month. This can be good if you only need to display a
particular month such as if you are displaying 12 calendar widgets for
every month in a particular year.
CALENDAR_SHOW_WEEK_NUMBERS this option specifies that the number for each week should be displayed
down the left side of the calendar. (e.g. Jan 1 = Week 1,Dec 31 = Week
52).
CALENDAR_WEEK_START_MONDAY this option states that the calender week will start on Monday instead of
Sunday which is the default. This only affects the order in which days
are displayed from left to right. Note that in PyGTK 2.4 and above this
option is deprecated.
标记日期
result = calendar.mark_day(day)
result = calendar.unmark_day(day)
calendar.clear_marks()
year, month, day = calendar.get_date()
信号:
month_changed
day_selected
day_selected_double_click
prev_month
next_month
prev_year
next_year
发表评论
-
c++科学计算库
2013-06-05 21:58 4434http://www-900.ibm.com/develop ... -
wxwidgets-学习心得(2)
2013-05-14 22:17 2252#include <wx/wx.h> #inc ... -
wxwidgets学习心得(1)
2013-05-13 12:01 2497#include <wx/wx.h> / ... -
gtk+学习笔记-2
2013-04-11 11:16 2036对gtk+初始化的检查 gtk_init_check(& ... -
gtk+学习笔记-1
2013-04-11 10:50 1609#include <stdlib.h> #i ... -
lisp-基本输入,输出,read,print
2013-02-09 22:51 3216* (say-hello)ssssssss"wha ... -
lisp-push
2013-02-09 20:41 1540* (defvar *mylist* (list 11 2 ... -
lisp-find
2013-02-09 14:08 1524* (find `wang `((wang 22)(li 2 ... -
lisp-交换列表中2个元素
2013-02-08 20:10 2335* (defvar *mylist* (list 1 2 ... -
lisp-求最大和最小数,if的使用
2013-02-08 17:04 2695* (defun maxnum(x y) (if (> ... -
lisp-关于mapcar、apply、assoc 列表操作
2013-02-08 12:53 65690[2] (mapcar #'+ `(22 11 55) ... -
lisp-progn
2013-02-05 09:43 2116* (if (oddp 5) (progn (setf * ... -
lisp-列表
2013-02-01 21:33 1641This is experimental prerelea ... -
lisp-复数
2013-01-30 22:23 1372* (+ #C(28 10) 22) #C(50 10 ... -
lisp-局部变量和局部函数
2013-01-30 22:07 2237* (flet ((add (a b) (+ a b))) ... -
lisp强大
2013-01-30 21:02 2864以前就听说过Lisp被很多人认为是世界上最好的语言 ,但是它 ... -
lisp-猜数字升级版
2013-01-30 18:03 18420[2] (defun mystart() (defpara ... -
lisp-猜数字算法与全局函数、变量
2013-01-30 17:55 1608* (defvar *big* 100) *BIG* ... -
c++中stack,deque,queue
2012-08-30 21:36 3756STL包含一些为满足特殊需求而设计的容器,他们提供简单而清晰的 ... -
(转)去掉c++的变量的const类型
2012-04-24 16:02 14462const_cast (expression) const_ ...
相关推荐
pygtk-webui 介绍 这是一个检查 Gtk 和 webkit 之间交互的示例。 webkit 端显示一个带有 d3.js 生成的随机值的条形图,Gtk 部分显示一个带有这些值的树视图。 功能 本例提供的功能如下: 随机数据按钮:当点击随机...
- **日历控件**:探讨日历控件(Calendar)的功能和应用场景,包括如何设置日期选择逻辑。 - **颜色选择器**:介绍颜色选择器(ColorSelection)的使用方法及其特点。 - **文件选择器**:探讨文件选择器...
标题中的“gtk+-bundle_2.24.8-20111122_win32”表明这是一个针对Windows 32位系统的GTK+ 2.24.8版本的打包文件,发布日期为2011年11月22日。 描述中提到的一个关键信息是GTK+ 3.x与Python 2.7的兼容性问题。GTK+ 3...
《FastProjectCounter-开源》是一款基于pyGTK图形用户界面库和SQLite数据库技术的开源项目管理工具。这款软件专为开发者和项目经理设计,旨在帮助他们高效地跟踪和计数正在处理的项目进度。以下是对该软件及其核心...
"Agenda:议程-开源" 是一个基于Python和PyGTK开发的日程管理软件,它提供了日期、时间、约会管理以及联系人和电话号码的功能。这个开源项目为用户提供了自定义和个性化管理日常任务和联系人信息的可能性。下面将详细...
1. **文件索引**:为了提供快速搜索,Gabasa需要建立一个索引,记录文件的元数据(如名称、位置、大小、创建日期等)和内容。这可能使用倒排索引技术,以加快搜索速度。 2. **文本分析**:搜索查询可能需要进行文本...
它是用PyGTK 2.0的Python 2.7编写的,可在Linux和Windows上运行。我的目标... 共享可用于多种用途的工具允许节省时间管理项目或活动产品特点定义并持续修改记录结构(文本,日期,复选框和选择列表组合) 添加记录...
它需要 Python 2.5.0、GTK+2.16、Pygtk 2.16、PyGobject 2.14 和 Pycairo 1.4 作为依赖库来运行。 在系统的核心部分,`LibManager` 类是主要的数据处理和交互组件。该类初始化时,首先连接到 SQLite 数据库并创建一...
这可能涉及到数据库技术,如SQLite(轻量级数据库)或MySQL,用于存储图片的元数据(如文件名、位置、创建日期等)。同时,需要设计合理的数据结构,以便快速查询和操作图片信息。 5. 文件操作:在系统中,图片的...
GTK使用C语言编写,但提供了多种语言的绑定,包括Python(PyGTK或GTK+ for Python)。在GoDo中,GTK被用来构建各种界面元素,如按钮、文本框和列表视图,使用户能够轻松地添加、编辑和删除待办事项。 3. **待办事项...