Управление позицией курсора в GtkEntry

Python3-Gtk3 В GtkEntry выравнивается справа, если я заменяю содержимое, курсор находится слева от строки. Я хотел бы, чтобы он был прав. Свойство 'cursor-position' доступно только для чтения. Как управлять положением курсора? Спасибо за вашу помощь.


person phdb44    schedule 17.12.2017    source источник
comment
Можете ли вы добавить пример вашего кода?   -  person Gregor Doroschenko    schedule 17.12.2017


Ответы (1)


Вот вам пример. Нажмите «Ввод» в записи, чтобы увидеть результаты.

#!/usr/bin/env python

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
import os, sys

class GUI:
    def __init__(self):

        window = Gtk.Window()
        entry = Gtk.Entry()
        entry.connect("activate", self.entry_activated )
        entry.set_alignment(1.0)
        window.add(entry)
        window.show_all()
        window.connect("destroy", self.on_window_destroy )

    def on_window_destroy(self, window):
        Gtk.main_quit()

    def entry_activated (self, entry):
        text = entry.get_text()
        text = text * 2
        entry.set_text(text)
        length = len(text)
        entry.set_position(length)

def main():
    app = GUI()
    Gtk.main()

if __name__ == "__main__":
    sys.exit(main())
person theGtknerd    schedule 17.12.2017
comment
Я не думал обращаться к методам объекта GtkEditable. Большое спасибо за этот явный быстрый ответ, который решает проблему. - person phdb44; 17.12.2017
comment
@phdb44 Рад быть полезным. Кстати, добро пожаловать в SO, и я надеюсь, что у вас будет прекрасное путешествие с использованием Python + Gtk. - person theGtknerd; 17.12.2017