私は、ユーザが書き込むはずのプリンターであるのテキストビュー(textview参照)と、プログラムが想定されているコンソールエラーメッセージを返します。そのため、コンソールはテキストエディタよりも少し少なくすべきです。
私はまた、ユーザーがテキストを編集するために私のプログラムのツールにエースすることができるように、ウィンドウの上部にツールバーを持っています。
はそれを行うために、私はツールバーが正しく配置されて、私はpack_start
属性(self.global_box.pack_start(self.console))
)Gtk 3のボックスでウィジェットのサイズを強制する方法
を使用して、ツールバー、TextViewにして(ものTextViewオブジェクトである)コンソールを置くグローバルなボックスを作成した(Iボタンを押して長さをつけることができます)、残りのスペースはと均等にがコンソールとテキストビューで表示されますが、コンソールは私のウィンドウのスペースを少ししか取れません。
私のコンソールは、たとえばウィンドウの20ピクセルしか取らないようにする必要がありますか?またはテキストビューのためだけに私のウィンドウの割合を設定するには?
おかげでたくさん 私
PS:here is a screenshot of the window, so you can have an idea of what I'm talking about.
EDIT:返信用に おかげで、質問は同じであるように見えますが、解決策は私のために働いていません。
class Window(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self,title='Text editor')
self.maximize()
self.global_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.add(self.global_box)
self.create_textview()
self.create_console()
def create_textview(self):
self.scrolled_window = Gtk.ScrolledWindow()
self.scrolled_window.set_hexpand(True)
self.scrolled_window.set_vexpand(True)
self.global_box.pack_start(self.scrolled_window, True, True, 0)
self.textview = Gtk.TextView()
self.textbuffer = self.textview.get_buffer()
self.scrolled_window.add(self.textview)
self.tag_found = self.textbuffer.create_tag('found',background='yellow')
def create_console(self):
self.console_scrolled_window = Gtk.ScrolledWindow()
self.console_scrolled_window.set_hexpand(True)
self.console_scrolled_window.set_vexpand(True)
self.global_box.pack_start(self.console_scrolled_window, False, False, 0) #HERE /!\ the first one is expand argument, second one is irrelevant (the fill one)
self.console = Gtk.TextView()
self.console_scrolled_window.add(self.console)
self.console.set_editable(False)
問題はここにコメントがある行の上にある:
はここのコードです。
2人の半分の間のスペースをユーザーが調整しますか?その場合は、GtkPanedを使用してください。それ以外の場合は、コードを表示してください。 – andlabs
@oldtechaaはい、しかしGtk 3では、pack_startメソッドは4つの引数をとります。そのうちの1つはexpandです。私はそれを修正しようとしましたが、まだ動作していません... – BlackBeans
@andlabsいいえ、私はユーザーがコンソールのサイズを変更することはできません。 – BlackBeans