2017-04-19 168 views
0

如何?我試過的tkinter帆布上的粗體文本

self.textindex = self.canvastext.create_text(0,696,font=('freemono bold',9), anchor='nw', fill='black', text='Longitude: ' + str(px)) 

self.textindex = self.canvastext.create_text(0,696,font=('bold', 'freemono bold',9), anchor='nw', fill='black', text='Longitude: ' + str(px)) 

等幾個變化,要麼有字體類型恢復到默認字體或給我的錯誤。

我實際上想要某種類型的字體是塊風格的字體,每個字符都有相同的寬度,所以我可以在屏幕的某些部分設置很好的列風格格式。我沒有看到我運行的任何程序,Times Roman(我認爲這是正確的名稱)彈出,所以我猜測Linux Mint不符合標準:)因此使用freemono。我會堅持默認字體,這已經是大膽的,試圖在屏幕上格式化它更加困難,雖然我看起來有點不錯,但這個程序現在變得很好。

+0

您可以嘗試閱讀一些文檔,而不是嘗試隨機的東西。 http://effbot.org/tkinterbook/tkinter-widget-styling.htm,http://www.tkdocs.com/tutorial/fonts.html,https://www.tutorialspoint.com/python/tk_fonts.htm, http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/fonts.html –

+0

其實我已經使用Canvas窗口部件effbot.org網頁來獲取,但我甚至沒有想到轉到其他頁面。我認爲我已經按照現在的方式嘗試了它,但我不應該一直把引號放在大膽的位置。小愚蠢滑倒。 – confused

回答

0

而不是改變字母的重量,你可以通過說(字體=「Ariel」)來改變字母的字體,但是對於你來說足夠厚的字體。希望這有助於:)

3

最好的方法是創建一個字體對象。例如:

# python2 
import Tkinter as tk 
import tkFont as tkfont 

# python3 
# import tkinter as tk 
# from tkinter import font as tkfont 

root = tk.Tk() 
canvas = tk.Canvas(root, width=400, height=400, background="bisque") 
canvas.pack(fill="both", expand=True) 

normal_font = tkfont.Font(family="Helvetica", size=12) 
bold_font = tkfont.Font(family="Helvetica", size=12, weight="bold") 

canvas.create_text(50,50, text="This is normal", font=normal_font) 
canvas.create_text(50,100, text="This is bold", font=bold_font) 

root.mainloop()