ocean #5054(2007/12/30 03:26 GMT) [ Python ] Rating0/0=0.00
Python/Tkinterで組んでみました。組んだはいいが、結構重い・・・(レイアウトを工夫すればもっと速くできるかもしれませんが)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
# coding: shift_jis import Tkinter as Tk import calendar import sys def grid_configure(frame, col_count, row_count): for col in xrange(col_count): frame.grid_columnconfigure(col, weight=1) for row in xrange(row_count): frame.grid_rowconfigure(row, weight=1) class MonthPanel(Tk.Frame): def __init__(self, master, year, month): Tk.Frame.__init__(self, master) label = Tk.Label(self, text=u"%d月" % month) label.pack(side=Tk.TOP, fill=Tk.X) frame = Tk.Frame(self) frame.pack(side=Tk.TOP, fill=Tk.BOTH, expand=True) grid_configure(frame, 7, 7) def create_label(row, col): label = Tk.Label(frame, bg="white") label.grid(row=row, column=col, sticky="news", padx=1, pady=1) return label labels = [[create_label(row, col) for col in xrange(7)] for row in xrange(7)] def text(col, row, s, color="white"): labels[row][col].configure(text=s, bg=color) for col, s in enumerate(u"日月火水木金土"): if col == 0: color = "#F7CACA" elif col == 6: color = "#CEFFFF" else: color = "#E7FFE7" text(col, 0, s, color) for row, a in enumerate(calendar.Calendar(6).monthdayscalendar(year, month)): for col, day in enumerate(a): if day: text(col, row + 1, day) def main(): if len(sys.argv) != 2: sys.stderr.write("usage: year\n") return year = int(sys.argv[1]) root = Tk.Tk() root.title(u"%d年 年間カレンダー" % year) grid_configure(root, 4, 3) for i in xrange(12): frame = MonthPanel(root, year, i + 1) frame.grid(row=i/4, column=i%4, sticky="news", padx=2, pady=2) root.mainloop() if __name__ == '__main__': main()
Rating0/0=0.00-0+
1 reply [ reply ]
ocean
#5054()
[
Python
]
Rating0/0=0.00
Python/Tkinterで組んでみました。組んだはいいが、結構重い・・・(レイアウトを工夫すればもっと速くできるかもしれませんが)
Rating0/0=0.00-0+
1 reply [ reply ]