Нужно было мне небольшое окошко для ввода текста но 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
- 4
- 1
- 2
- 3
- 4
- 5