⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 input_test.py

📁 Urwid is a Python library for making text console applications. It has many features including fluid
💻 PY
字号:
#!/usr/bin/python## Urwid keyboard input test app#    Copyright (C) 2004-2007  Ian Ward##    This library is free software; you can redistribute it and/or#    modify it under the terms of the GNU Lesser General Public#    License as published by the Free Software Foundation; either#    version 2.1 of the License, or (at your option) any later version.##    This library is distributed in the hope that it will be useful,#    but WITHOUT ANY WARRANTY; without even the implied warranty of#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU#    Lesser General Public License for more details.##    You should have received a copy of the GNU Lesser General Public#    License along with this library; if not, write to the Free Software#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA## Urwid web site: http://excess.org/urwid/"""Keyboard test application"""import urwid.curses_displayimport urwid.raw_displayimport urwid.web_displayimport urwidimport sysif urwid.web_display.is_web_request():	Screen = urwid.web_display.Screenelse:	if len(sys.argv)>1 and sys.argv[1][:1] == "r":		Screen = urwid.raw_display.Screen	else:		Screen = urwid.curses_display.Screenclass KeyTest:	def __init__(self):		self.ui = Screen()		header = urwid.Text("Values from get_input(). Q exits.")		header = urwid.AttrWrap(header,'header')		self.l = urwid.SimpleListWalker([])		self.listbox = urwid.ListBox(self.l)		listbox = urwid.AttrWrap(self.listbox, 'listbox')		self.top = urwid.Frame( listbox, header )			def main(self):		self.ui.register_palette([			('header', 'black', 'dark cyan', 'standout'),			('key', 'yellow', 'dark blue', 'bold'),			('listbox', 'light gray', 'black' ),			])		self.ui.run_wrapper(self.run)		def run(self):		self.ui.set_mouse_tracking()				cols, rows = self.ui.get_cols_rows()		keys = ['not q']		while 'q' not in keys and 'Q' not in keys:			if keys:				self.ui.draw_screen((cols,rows),					self.top.render((cols,rows),focus=True))			keys, raw = self.ui.get_input(raw_keys=True)			if 'window resize' in keys:				cols, rows = self.ui.get_cols_rows()			if not keys:				continue			t = []			a = []			for k in keys:				if urwid.is_mouse_event(k):					t += ["('",('key',k[0]),						"', ", ('key',`k[1]`),						", ", ('key',`k[2]`),						", ", ('key',`k[3]`),						") "]				else:					t += ["'",('key',k),"' "]						rawt = urwid.Text(", ".join(["%d"%r for r in raw]))						self.l.append(				urwid.Columns([					('weight',2,urwid.Text(t)),					rawt])				)			self.listbox.set_focus(len(self.l)-1,'above')				def main():	urwid.web_display.set_preferences('Input Test')	if urwid.web_display.handle_short_request():		return	KeyTest().main()	if '__main__'==__name__ or urwid.web_display.is_web_request():	main()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -