tkinter画布上的大胆文字

时间:2017-04-19 15:33:05

标签: python-3.x tkinter

如何?我尝试了几种

/**
 * Create a new instance of the {@link RestTemplate} based on the given {@link ClientHttpRequestFactory}.
 * @param requestFactory HTTP request factory to use
 * @see org.springframework.http.client.SimpleClientHttpRequestFactory
 * @see org.springframework.http.client.HttpComponentsClientHttpRequestFactory
 */
public RestTemplate(ClientHttpRequestFactory requestFactory) {
    this();
    setRequestFactory(requestFactory);
}

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

等要么让字体类型恢复为默认字体,要么给我错误。

我实际上想要某种类型的字体是块样式字体,每个字符具有相同的宽度,因此我可以在屏幕的某些部分设置漂亮的列样式格式。我没有看到我运行的任何程序,Times Roman(我认为这是正确的名称)弹出,所以我猜测Linux Mint没有标准化它:) ..因此使用freemono。我会坚持使用默认字体,它已经是大胆的,试图在屏幕上格式化它是非常困难的,而且我现在看起来很好看这个程序现在结束了。

3 个答案:

答案 0 :(得分: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()

答案 1 :(得分:0)

而不是改变字母的重量,你可以通过说(font =“Ariel”)来改变字母的字体,但是字体足够厚。希望这有助于:)

答案 2 :(得分:0)

这对我有用(Python 3):

    canvas.create_text(x, y, font=('freemono', 11, 'bold'), anchor='sw', text=s)

除了Bryan的回答:如果您使用的是tkinter(而不是Tkinter),则代码是:

    from tkinter import font

...

    myfont = font.Font(family='freemono', size=11, weight="bold")
    canvas.create_text(x, y, font=myfont, anchor='sw', text=s)