سؤال

ولدي gtk.TextBuffer التي من المفترض أن يتم مسح بعد الضغط على Enter، على غرار مربع الإدخال على معظم برامج الدردشة. أنا فقط وضع المخزن المؤقت مرة أخرى إلى سلسلة فارغة. لم تتم إزالة حرف السطر من أدخل رغم ذلك، وسطر فارغ ينتهي فوق المؤشر خلال إدخال المقبل. تحريك المؤشر إلى gtk.Iter أولا لا يساعد.

هل كانت مفيدة؟

المحلول

وافتراضيا، ويسمى رد "gobject.connect()" قبل معالج الافتراضي. تحتاج إلى استخدام "gobject.connect_after()".

def insert_text_cb(text_buffer, position, text, lenght):
    if text == '\n':
        text_buffer.set_text('')

text_view = gtk.TextView()
text_view.get_buffer().connect_after('insert-text', insert_text_cb)

نصائح أخرى

هل أنت متأكد من أنك الزناد على الحدث الصحيح؟ أيضا حاول الاتصال بعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top