2013-07-09 6 views
5

Czy istnieje sposób narysowania pionowego tekstu w bibliotece Tkinter? (Zalecane Python)Tekst pionowy w płótnie Tkinter

textID = w1.create_text(5, 5, anchor="nw") 
w1.itemconfig(textID, text = "This is some text") 

Odpowiedz

7

Jeśli pytasz czy tkinter.Canvas.create_text ma coś takiego:

textID = w1.create_text(5, 5, anchor="nw", orient=tkinter.VERTICAL) 

wtedy odpowiedź brzmi: nie. Metoda create_text może tworzyć tylko tekst poziomy.


Jednak może używać str.join aby utworzyć tekst pionowy:

from tkinter import Tk, Canvas 
root = Tk() 
canvas = Canvas() 
canvas.grid() 
canvas.create_text((10, 5), text="\n".join("This is some text"), anchor="nw") 
root.mainloop() 

Przykład:

enter image description here

Chociaż nie może być tak eleganckie, jak po prostu ustawiając odpowiednią opcję w metodzie create_text działa.

0

ja nie znam żadnego sposobu, aby tekst pionowy w Tkinter, ale można po prostu zrobić zdjęcie tekstu pionowego chcesz

  1. zrzut ekranu tekst, który chcesz i przyciąć go
  2. ekranu strzał kolor tła i przyciąć go
  3. w word lub PowerPoint, czy coś, umieścić tekst na tle
  4. zrobić kolejny zrzut ekranu i upraw, które
  5. umieścić ten zrzut ekranu w farbie
  6. Zapisz plik farby w tym samym folderze programu
  7. przekonwertować plik farby do Online gif: http://image.online-convert.com/convert-to-gif
  8. użyć następującego kodu, aby umieścić obraz w programie

vertical_text = PhotoImage(file = "<your file name>.gif") canvas.create_image(x, y, image = vertical_text)

Oto zrzut ekranu z okna tkinter w programie robię który pozwala zrewidować słowa example

+0

Mam nadzieję, że ci to pomoże! :) :) –