如何從Python代碼翻轉(自定義)kivy小工具?我試着將其高度或寬度設置爲負值,但它實際上會旋轉小部件,即翻轉兩個軸。 Rotate指令顯然也是這樣。我知道有一個flip_horizontal()
紋理的方法,但我沒有絲毫的想法如何實際上導致它影響現有的部件,而不是從,例如地圖集內存紋理。在基維翻轉小工具
如果有幫助,我使用kivy 1.9.2和Python 3.4.3。
UPD我試過Scale()沒有效果。
event.actor.widget.img.canvas.before.add(PushMatrix())
event.actor.widget.canvas.before.add(Scale(x=2.0, origin=event.actor.widget.center))
event.actor.widget.img.canvas.after.add(PopMatrix())
event.actor.widget.canvas.ask_update()
無論是否使用PushMatrix/PopMatrix,它都不起作用。這個小部件是一個簡單的Widget子類,具有可伸縮的圖像以及大小和位置的幾個回調。
我很好奇,爲什麼你要這麼做?爲什麼你不能旋轉180度?什麼樣的小工具?你需要一個內部文字或圖像翻轉?例如,您可以在其容器中重新繪製翻轉的圖像 - 可能比翻轉Widget更容易。 – Daniel
因爲如果我將例如字母'd'旋轉180度,我會得到字母'p',但是如果我翻轉它,我會根據翻轉方向獲得'b'或'q'。小部件代碼在下面的要點中可用。是的,我可以做到這一點,但我希望有一種解決方案,不需要爲每個圖像製作兩份副本,以完成一項微不足道的操作。如果要在運行時構建一個小部件,那將會是一個痛苦的世界。 – Synedraacus