Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Get_text в PyGtk не работает. Прошу помощи. [RSS Feed]

#1 Июль 7, 2015 11:37:40

sergeich1992
Зарегистрирован: 2015-05-29
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Get_text в PyGtk не работает. Прошу помощи.

Доброго времени суток, уважаемые форумчане.
Возникла ошибка в работе программы. Только изучаю, не могу решить проблему.
Ошибка следующая:
TypeError: on_entry1_changed() missing 1 required positional argument: ‘entry’
Возникает на активации сигнала on_entry1_changed. Текст получить не могу из entry1. Хотя сигнал работает - это я проверял. Прошу помочь с проблемой. Заранее благодарен.

Код программы ниже, gladefile приложен к сообщению.

#!/usr/bin/python3
from gi.repository import Gtk
class entrywin:
	def on_window1_destroy(self, data=None):
		print("quit with cancel")
		Gtk.main_quit()
	
	def on_entry1_changed(self, widget, entry):
		text = self.entry.get_text()
		print(text)
	def __init__(self):
		self.builder = Gtk.Builder()
		self.builder.add_from_file('face.glade')
		self.window = self.builder.get_object('window1')
		comp = [
				'ololo',
				'111',
				'222',
				]
				
		self.builder.connect_signals(self)
		self.liststore = Gtk.ListStore(str)
		for s in comp:
			self.liststore.append([s])
		self.completion = Gtk.EntryCompletion()
		self.completion.set_model(self.liststore)
		self.completion.set_text_column(0)
		self.entry = self.builder.get_object('entry1').set_completion(self.completion)
		
		self.window.show_all()
if __name__ == "__main__":
	main = entrywin()
	Gtk.main()

Прикреплённый файлы:
attachment face.glade (3,7 KБ)

Офлайн

#2 Июль 8, 2015 06:51:57

b_oss
От:
Зарегистрирован: 2008-10-05
Сообщения: 17
Репутация: +  1  -
Профиль   Отправить e-mail  

Get_text в PyGtk не работает. Прошу помощи.

Сигнал 'changed' передает всего один параметр. Это объект получивший этот сигнал. В вашем случае Gtk.Entry Поэтому ваш обработчик будет выглядель так:

def on_entry1_changed(self, widget):
    text = widget.get_text()
    print(text)



Офлайн

#3 Июль 8, 2015 11:57:54

sergeich1992
Зарегистрирован: 2015-05-29
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Get_text в PyGtk не работает. Прошу помощи.

Большое спасибо! Понял, сделал.

Офлайн

  • Начало
  • » GUI
  • » Get_text в PyGtk не работает. Прошу помощи.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version