다음 코드를 사용하면 "Log Leeren"및 "Auto Scroll"버튼이 창 크기를 조정할 때 높이가 변경되는 문제가 있습니다.Python GTK 3 테이블 : 버튼이 확장되지 않아야합니다.
class ConsoleLogWindow(Gtk.Window):
def __init__(self, server):
self.log = server["log"];
Gtk.Window.__init__(self, title="Meteor Log von %s" % server["name"])
# self.set_icon_from_file("filename")
self.set_size_request(800,500)
table = Gtk.Table(3, 2, False)
self.add(table)
# Should be only one line of thext high
self.button_clear = Gtk.Button(label="Log Leeren")
self.button_scroll = Gtk.Button(label="Auto Scroll")
table.attach(self.button_clear, 2, 3, 1, 2)
table.attach(self.button_scroll, 0, 1, 1, 2)
# should take as much space as is available.
scrollWindow = Gtk.ScrolledWindow()
scrollWindow.set_hexpand(False)
scrollWindow.set_vexpand(True)
self.content_table = Gtk.Table(len(self.log)+1, 4, False)
# self.content_table is filled here.
scrollWindow.add(self.content_table)
table.attach(scrollWindow, 0, 3, 0, 1)
창 클래스가 같은 함수에서 호출됩니다 :
그들은 내가 변경해야 할 무엇 scrolledWindow사용해야 정확히 하나의 텍스트 라인 높은 뷰포트의 나머지해야한다 , 프레임 워크는 모든 고려해야 적어도 Qt는 측면에서
def show_errors_menu(self, widget):
print ("Showing Error Menu")
win = ConsoleLogWindow(widget.get_node());
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
윈도우의 크기를 조정할 때 버튼의 크기를 조정하지 않고 스크롤 가능한 영역 (ScrolledWindow라는 GTK 3에서)이 가능한 많은 공간을 차지하도록 버튼의 크기를 조정하지 못하게하고 싶습니다. – Tobi
버튼 크기를 고정시키고 싶다고 생각 했으므로 버튼으로 보낸 레서피와 동일한 기술을 적용하는 것이 좋습니다. 즉, GTK 버튼의 하위 클래스를 만들고 속성 'self./* 시도해보고 알려주세요! : D – SonicARG