Делаем небольшое окошко ввода текста

-

Python Wiki



Zaterehniy


репутация: 663
на сайте с 2006 года
сообщений: 2391

Xiaomi Redmi Note 4X

Ставрополь

Возраст - 31

#1

Нужно было мне небольшое окошко для ввода текста но appuifw.query не подходило из за ограничения колличества символов. Посоветовали модуль txtfield. Вот что получилось.

import appuifw import txtfield import e32 #import graphics def ru(x): return x.decode('utf-8') appuifw.app.body=text=appuifw.Text() #img=graphics.Image.open(u'e:1.png') x=3 y=3 def windows_imput(): #создаем окно заголовка output_field = txtfield.New((20, 20, 190, 140), cornertype=txtfield.ECorner2)#создаем новое поле, задаем скругление углов output_field.focus(0)#возможность ввода заблокирована #output_field.setimg(img, 0, (20, 20))#прикрепляем картинку к полю output_field.add(ru('введите текст '))#надпись в заголовке окна output_field.setpos(x, y)#координаты окна заголовка output_field.bgcolor(0xe7e3e7)#цвет фона окна заголовка #делаем поле ввода input_field = txtfield.New((20, 120, 180, 200))#создаем окно ввода input_field.focus(True)#разрешаем печатать текст input_field.setpos(x+4, y+27)#устанавливаем положение окна input_field.bgcolor(12303291)#цвет фона окна ввода #функция вставки текста из окна ввода в текстовое поле def cut_text(): input_field.focus(0) cut=input_field.get()#получаем текст из окна ввода text.add(cut)#вставляем текст в текстовое поле output_field.visible(0)#скрываем фоновое окно input_field.visible(0)#скрываем окно ввода text.bind(0xf845, cut_text)#вешаем функцию ввода текста на клавишу выбора text.bind(0xf862, windows_imput)#вызов нашего окна на зеленую app_lock = e32.Ao_lock() def exit(): app_lock.signal() appuifw.app.exit_key_handler = exit app_lock.wait()


Прикрепленный файл #1: 257_input_windows.zip (972 b)


тема создана:

Рейтинг: 4
голосов: 1

dimy44


репутация: 515
на сайте с 2006 года
сообщений: 2433

HTC One S

Евпатория

Возраст - 48

#2

Недавно спросил у watt'а, как установить лимит на кол-во введенных символов. Вот
txtfield.New((20,120,180,200),txtlimit=3)

vladimar1


репутация:
на сайте с 1970 года
сообщений:

#3

Будьте добры, объясните мне как всё таки работать с картинками в txtfield.
Есть функция setimg(img, pos, size).
Что означает 2-ой параметр? По логике, это должен быть кортеж, а получается, что целое число.

dimy44


репутация: 515
на сайте с 2006 года
сообщений: 2433

HTC One S

Евпатория

Возраст - 48

#4

я не юзал, но по логике все правильно, целое число, позиция в тексте (кол-во символов).

vladimar1


репутация:
на сайте с 1970 года
сообщений:

#5

Ага, спасибо, назначение этого параметра я теперь понял.
Хотя картинки лучше делать на отдельном txtfield


Напомнить пароль