How to make arrow symbols in terminal?
-------
import locale
locale.setlocale(locale.LC_ALL, '')
code = locale.getpreferredencoding()
ARROW_UP = '\u2191'.encode(code)
win.addstr(1, 1, ARROW_UP) # I think you might need addstr instead of addch for this; try it and see!
-----------------
J'obtiens alors un UnicodeEncodeError: 'charmap' codec can't encode caracters '\u2191' in position 0: character maps to <undefined>
Pour moi sous curses les éléments sont bien affichés (par contre ils sont tout petit). Voici le petit code que j'ai tapé:
#Le module curses
import curses
#Initialise la fenêtre
screen = curses.initscr()
#On ne veut pas voir le curseur ni ce qui est tapé
curses.noecho()
curses.curs_set(False)
#Efface l'écran à chaque appel
screen.clear()
#Affiche les éléments
for i in range(80):
screen.insstr(1, i, chr(i+9750))
#Boucle événementielle
while True:
var = screen.getch()
if var == ord("q"):
break
curses.endwin()
PS: La fenêtre doit faire au moins 80 de longueur pour ne pas renvoyer une erreur
Bon pour le petit bout de code, j'obtiens les caractères suivants:
Sinon, voici le morceau de code que j'ai fait pour chercher les éléments que tu demandais (fenêtre 170*47 minimum):
import curses
screen = curses.initscr()
curses.noecho()
curses.curs_set(False)
screen.clear()
k=1000
for j in range(47):
k+=170
for i in range(170):
screen.insstr(j, i, chr(32+i+j+k))
#Boucle événementielle
while True:
var = screen.getch()
if var == ord("q"):
break
curses.endwin()
Ça va t'afficher pleins de caractères. Si ceux que tu cherches ne sont pas affichés, il faut que tu modifie la valeur de k (de 3000 en 3000 à peu près) à chaque fois que tu relance le code (toujours le bouton "q" pour quitter curses).
Ce qui m' étonne , ce sont les Ô , Õ , Ò et autres motifs repetitifs : on dirait que l'ordinateur s'en sert à la place de caractères qu'il sait existant
mais qu'il ignore comment les afficher. Il y aurait bien un ou deux caractères exploitables sur la partie droite de la capture, mais je rate le
Hi, in switching to Python 3.0 I've run into an issue with displaying
Unicode characters via curses. In Python 2.x a simple hello-world looks
like:It fails (printing gibberish to the console). It seems that the problem
In Python 3, curses requires a str for addstr() where I think it should
take bytes instead. Otherwise it is impossible to output anything other
than ASCII (which is even more or less stated on top of curses'
documentation).
First, make sure that your Python3 build uses libncursesw and not
libncurses, because libncursesw supports unicode, whereas libncurses
doesn't... On UNIX, use the following command to check this:
ldd $(./python -c "import _curses; print(_curses.__file__)")|grep curses
À ce compte-là, vu le temps que ça fait que tu fais du Python, je vois pas bien de raison de ne pas te pencher sur Pygame ou Kivy. Ça ne sera pas franchement plus dur.
BTW : Voir curses comme un ersatz de bibliothèque graphique est aussi pertinent que voir un cluster de Raspberry Pi comme un ersatz de processeur multi-coeur : ça peut sembler être la même chose en moins cher ou plus facile, mais c'est plus technique à utiliser, plus bas niveau, et ça n'est substituable dans aucun cas.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.