oktatas:programozas:python:curses
Tartalomjegyzék
Python curses
- Szerző: Sallai András
- Copyright © 2021, Sallai András
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Kezdés
Csak Windowson szükséges:
python -m pip install windows-curses
Ellenőrizzük:
>>> import curses
Billentyűzetfigyelés
- bil.py
import curses stdscr = curses.initscr() curses.noecho() curses.cbreak() stdscr.keypad(1) while True: c = stdscr.getch() stdscr.clear() stdscr.move(5, 5) if c == ord('p'): stdscr.addstr('valami') elif c == ord('q'): break elif c == curses.KEY_HOME: stdscr.addstr('Home') elif c == curses.KEY_UP: stdscr.addstr('Fel') elif c == curses.KEY_DOWN: stdscr.addstr('Le') elif c == curses.KEY_LEFT: stdscr.addstr('Balra') elif c == curses.KEY_RIGHT: stdscr.addstr('Jobbra') stdscr.refresh() curses.endwin()
Bekérés
Várakozás egy billentyűre:
stdscr.getch()
Szöveg bekérése:
stdscr.getstr()
Attribútumok és színezés
A curses.initscr() után meg kell hívni a start_color() függvényt.
stdscr = curses.initscr() curses.start_color() ...
Ezek után, összeállítunk egy színpárt, majd alkalmazzuk:
curses.init_pair(1, curses.COLOR_RED, curses.COLOR_WHITE) stdscr.addstr(szo, curses.color_pair(1))
Ablakok
//height, width, begin_y, begin_x win = curses.newwin(5, 20, 2, 20) win.addstr('Valami') win.refresh()
Példaprogram
A program, karaktereket eszik. De csak a magánhangzókat szereti.
- betuevo.py
import curses import time import re def ertekeles(kaja): res = re.search(r"[bcdfghjklmnpqrstvwxyz]", str(kaja)) if not res: return True else: return False stdscr = curses.initscr() curses.start_color() curses.echo() curses.cbreak() stdscr.keypad(1) curses.init_pair(1, curses.COLOR_RED, curses.COLOR_WHITE) curses.init_pair(2, curses.COLOR_BLUE, curses.COLOR_WHITE) topwin = curses.newwin(1, 80, 2, 0) topwin.bkgd(curses.color_pair(2)) topwin.move(0, 30) topwin.addstr('Karakterevő') topwin.refresh() mainwin = curses.newwin(15, 40, 4, 0) while True: mainwin.clear() mainwin.move(1, 5) szo = mainwin.getstr() mainwin.move(4, 5) finom = ertekeles(szo.decode()) if finom: mainwin.addstr('Finom') else: mainwin.addstr('Nem szeretem a mássalhangzókat!') mainwin.move(10,5) mainwin.addstr(szo, curses.color_pair(1)) mainwin.refresh() time.sleep(1) curses.endwin()
Lásd még
oktatas/programozas/python/curses.txt · Utolsó módosítás: 2023/08/21 21:23 szerkesztette: admin