我在 tkinter 畫布上放置了一些文本。
我將如何更改此文本的縱橫比。
就我而言,我在用 canvas.create_text 創建的畫布上有一個字母。我想在保持其寬度的同時更改這封信的高度。從視覺上看,這封信看起來像是向前下落或圍繞地平線旋轉。我也想改變字母的寬度而不改變它的高度。在這種情況下,它在視覺上看起來像是在旋轉。
canvas.scale 更改繪制字母的坐標系,但不更改字母本身的比例。
這是一個簡短的例子。我希望字母的高度跟隨兩邊線的高度。但是字母的寬度應該保持不變。
import tkinter as tk
from tkinter import font
class FlipDigit():
def __init__(self,master):
self.master = master
self.digit = tk.Canvas(master,width= 150,height = 150,bg='black')
self.font = font.Font(family ='Calibri',size = 150)
self.letter = self.digit.create_text(75,75,text = 'A',fill = 'white', font = self.font)
self.digit.create_line(5,25,5,125,width=10,fill = '#808080')
self.digit.create_line(145,25,145,125,width = 10,fill = '#808080')
self.digit.pack()
self.count = 0
self.master.after(50,self.Bump)
def Bump(self):
yscale = .8
if self.count > 10:
yscale = 1.25
if self.count >20:
self.count = -1
self.count = 1
self.digit.scale('all',75,75,1,yscale)
self.master.after(150,self.Bump)
if __name__ == '__main__':
root = tk.Tk()
Digit = FlipDigit(root)
root.mainloop()
uj5u.com熱心網友回復:
我認為在 tkinter 中沒有任何方法可以做到這一點。您不能獨立于寬度更改字體的高度。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/323772.html
