質問

ようにしていく依存関係の最小限のためのプログラムIに貢献するで小さなテキストエディター

GTK Textviewになって来るように思える蔵元に戻す機能です。があるリファレンス実装していを捜すか?は誰も書かれており、運動機能そのTextViewウィジェット?

んな嬉しいサンプルコードの一番嬉しいのはpythonコードをサンプルとして弊社のプロジェクトがエラーになります。

役に立ちましたか?

解決

しかGTK TextView含まないため、元に戻す機能です。なのでリスペクトしながら、私は知らないPythonのGTK図書館にいってくださいというふうに思っています。

Ruby-GNOME2プロジェクトは、 サンプルテキストエディタ を元に戻す/再実行可能です。基本的にその接続にinsert_textとdelete_range信号のTextViewウィジェット記録のイベントや関連するデータをリストアップしました。

他のヒント

としてfollwow:私は移植gtksourceviewの取り消し機構python: http://bitbucket.org/tiax/gtk-textbuffer-with-undo/

としてのドロgtksourceviewのundo

(OPここがローンチパッドオープンid動作しないも

によっていかに依存関係を回避すが、どのようなテキストエディタyouビル GtkSourceView 追加し元に戻す/再実行の多くがっていません。非常に価値を見たい場合は、その他 特徴 一段と大きくなっています。

利用GtkSource

.

  • [Cmnd]+[Z]のために元に戻す(デフォルト)
  • [Cmnd]+[Shift]+[Z]のredo(デフォルト)
  • [Cmnd]+[Y]でredo(手動で追加)

例:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import Gdk
gi.require_version('GtkSource', '3.0')
from gi.repository import GtkSource

import os


class TreeviewWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="TreeviewWindow")
        self.set_size_request(300, 300)
        self.connect("key-press-event", self._key_press_event)
        self.mainbox = Gtk.VBox(spacing=10)
        self.add(self.mainbox) 

        self.textbuffer = GtkSource.Buffer()
        textview = GtkSource.View(buffer=self.textbuffer)
        textview.set_editable(True)
        textview.set_cursor_visible(True)
        textview.set_show_line_numbers(True)
        self.mainbox.pack_start(textview, True, True, 0)
        self.show_all()  

    def _key_press_event(self, widget, event):
        keyval_name = Gdk.keyval_name(event.keyval)
        ctrl = (event.state & Gdk.ModifierType.CONTROL_MASK)
        if ctrl and keyval_name == 'y':
            if self.textbuffer.can_redo():
                self.textbuffer.do_redo(self.textbuffer)

    def main(self):
        Gtk.main()

if __name__ == "__main__":
    base = TreeviewWindow()
    base.main()
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top