2017-01-23 6 views
0

現在、私はPythonでGtk3でGUIプログラムを書いています。私は自分のウィンドウにGtkカレンダーを配置していますが、私の問題は、カレンダーが全体の領域を埋めるものではないということです。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() 

私のウィンドウのサイズを変更すると、カレンダー行の高さを使い果たしてウィンドウ全体を埋めるようにしたいと思います。列は完全にサイズ変更されますが、行はサイズ変更されません。 CSSでこの動作を変更できますか?Gtk.Calendarのサブクラスを作成する必要がありますか?私はまた、細胞が(QtでpaintCellのように)描かれているメソッドを見つけていないので、これは多分ややこしいかもしれません。

答えて

1

これは、行の高さを増やす方法を示しています。悲しいことに、row_expand()があるとは思われません。私はhttps://developer.gnome.org/gtk3/stable/GtkCalendar.html

からこの情報を得た

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() 

...あなたはいつもそれがリサイズされたときに、ウィンドウの高さを取得し、行の高さを計算するために、いくつかの計算を行うことができると思います

関連する問題