Gtk 日历填满整个 window
Gtk Calendar fill whole window
目前我正在 Python 中使用 Gtk3 编写 GUI 程序。我在我的 window 中放置了一个 Gtk 日历,但我的问题是,日历没有填满整个区域。
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.calendar = Gtk.Calendar()
self.add(self.calendar)
if __name__ == "__main__":
win = MainWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
如果我调整 window 的大小,我想增加日历行的高度,以便它们填满整个 window。列的大小调整完美但行没有。我可以通过 CSS 更改此行为还是必须创建 Gtk.Calendar
的子类?我也没有找到绘制单元格的方法(如 Qt 中的 paintCell
),所以这可能也有点棘手。
这显示了如何增加行高。可悲的是,似乎没有 row_expand() 可以这么说。我想你总是可以在调整大小时得到 window 的高度,然后做一些数学计算来计算行的高度...
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.calendar = Gtk.Calendar()
self.calendar.set_detail_height_rows( 2)
self.calendar.set_property("show-details",True)
self.calendar.set_detail_func(self.detail)
self.add(self.calendar)
def detail (self, calendar, year, month, date):
print calendar, year, month, date
if year == 2017 and date == 24:
return "SO, thumbs up!"
if __name__ == "__main__":
win = MainWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
那里得到了这个信息
目前我正在 Python 中使用 Gtk3 编写 GUI 程序。我在我的 window 中放置了一个 Gtk 日历,但我的问题是,日历没有填满整个区域。
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.calendar = Gtk.Calendar()
self.add(self.calendar)
if __name__ == "__main__":
win = MainWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
如果我调整 window 的大小,我想增加日历行的高度,以便它们填满整个 window。列的大小调整完美但行没有。我可以通过 CSS 更改此行为还是必须创建 Gtk.Calendar
的子类?我也没有找到绘制单元格的方法(如 Qt 中的 paintCell
),所以这可能也有点棘手。
这显示了如何增加行高。可悲的是,似乎没有 row_expand() 可以这么说。我想你总是可以在调整大小时得到 window 的高度,然后做一些数学计算来计算行的高度...
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.calendar = Gtk.Calendar()
self.calendar.set_detail_height_rows( 2)
self.calendar.set_property("show-details",True)
self.calendar.set_detail_func(self.detail)
self.add(self.calendar)
def detail (self, calendar, year, month, date):
print calendar, year, month, date
if year == 2017 and date == 24:
return "SO, thumbs up!"
if __name__ == "__main__":
win = MainWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
那里得到了这个信息