PyGTK 中的垂直滚动条
Vertical Scroll Bar in PyGTK
我使用 GTK 在 Python 中制作了一个组合文本编辑器终端。我希望用户能够控制每个垂直 space 在同一 window 中占据的数量。我不知道该怎么做,我需要帮助,我在网上搜索的建议解决方案没有用。
# UI
# Imort modules
import os
from gi.repository import Gtk, Vte
from gi.repository import GLib
from gi.repository import Gtk
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
# Window title and Icon
self.set_title("MaeTrics")
# Vertical Box
self.box = Gtk.VBox(homogeneous=False, spacing=0)
self.add(self.box)
# Scrolled Text Window
scrolledwindow1 = Gtk.ScrolledWindow()
scrolledwindow1.set_hexpand(True)
scrolledwindow1.set_vexpand(True)
self.textview = Gtk.TextView()
self.textbuffer = self.textview.get_buffer()
scrolledwindow1.add(self.textview)
# Terminal
# scrolledwindow2 = Gtk.ScrolledWindow()
# scrolledwindow2.set_hexpand(True)
# scrolledwindow2.set_vexpand(True)
terminal = Vte.Terminal()
terminal.fork_command_full(Vte.PtyFlags.DEFAULT,os.environ['HOME'],["/bin/sh"],[],GLib.SpawnFlags.DO_NOT_REAP_CHILD,None,None,)
# scrolledwindow2.add(terminal)
# Pack everything in vertical box
self.box.pack_start(scrolledwindow1, True, True, 0)
self.box.pack_start(terminal,True,True,0)
# Callback functions
self.connect("delete-event", Gtk.main_quit)
self.show_all()
window = MainWindow()
Gtk.main()
你想要 GtkPaned 这个。将垂直方向设置为 GTK_ORIENTATION_VERTICAL
,将滚动 window 的文本编辑器放在第一个插槽 (gtk_paned_add1
) 中,将滚动 window 的终端放在第二个插槽中 ( gtk_paned_add2
).
我使用 GTK 在 Python 中制作了一个组合文本编辑器终端。我希望用户能够控制每个垂直 space 在同一 window 中占据的数量。我不知道该怎么做,我需要帮助,我在网上搜索的建议解决方案没有用。
# UI
# Imort modules
import os
from gi.repository import Gtk, Vte
from gi.repository import GLib
from gi.repository import Gtk
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
# Window title and Icon
self.set_title("MaeTrics")
# Vertical Box
self.box = Gtk.VBox(homogeneous=False, spacing=0)
self.add(self.box)
# Scrolled Text Window
scrolledwindow1 = Gtk.ScrolledWindow()
scrolledwindow1.set_hexpand(True)
scrolledwindow1.set_vexpand(True)
self.textview = Gtk.TextView()
self.textbuffer = self.textview.get_buffer()
scrolledwindow1.add(self.textview)
# Terminal
# scrolledwindow2 = Gtk.ScrolledWindow()
# scrolledwindow2.set_hexpand(True)
# scrolledwindow2.set_vexpand(True)
terminal = Vte.Terminal()
terminal.fork_command_full(Vte.PtyFlags.DEFAULT,os.environ['HOME'],["/bin/sh"],[],GLib.SpawnFlags.DO_NOT_REAP_CHILD,None,None,)
# scrolledwindow2.add(terminal)
# Pack everything in vertical box
self.box.pack_start(scrolledwindow1, True, True, 0)
self.box.pack_start(terminal,True,True,0)
# Callback functions
self.connect("delete-event", Gtk.main_quit)
self.show_all()
window = MainWindow()
Gtk.main()
你想要 GtkPaned 这个。将垂直方向设置为 GTK_ORIENTATION_VERTICAL
,将滚动 window 的文本编辑器放在第一个插槽 (gtk_paned_add1
) 中,将滚动 window 的终端放在第二个插槽中 ( gtk_paned_add2
).