【kivy screenmanager】FadeTransition 使用效果及語法|Kivy基礎用法

更新 發佈閱讀 9 分鐘



本篇開始:

  • 我的開發環境是win11
  • python是3.10.7版本
  • kivy我設定在2.1.0版本
  • 編碼的工具是Visual Studio Code(VS Code)



【本篇說明】在Kivy這個第三方函式庫(框架)裡面,其中screenmanager模組內建許多類別可以控制轉場效果(transition),其中的 FadeTransition ,它的視覺效果:當切換螢幕時,新畫面會在原地出現,以「淡入淡出」的方式,適用場景:通常在不同功能切換時,例如從設定頁面跳回主頁。

1.先在main.py主程式寫下程式碼

以下.py程式碼:(在vscode開啟python檔案,取名為main.py,以下簡稱.py)

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.screenmanager import Screen, ScreenManager, FadeTransition
from kivy.properties import ObjectProperty

Window.size = (290,550)

class FirstPage(Screen):
pass

class SecondPage(Screen):
pass

class Manager(ScreenManager):
tra = ObjectProperty(FadeTransition())

class main(App):
def build(self):
return Manager()

if __name__ == "__main__":
main().run()

▲說明:

1.從kivy.app模組,導入App類別

2.從kivy.core.window模組,導入Window類別 (為了調整視窗大小)

3.從kivy.uix.screenmanager模組,導入Screen、ScreenManager、FadeTransition類別

4.設定畫面大小為 (290,550),可參考:【kivy window】視窗大小原來可以自己決定!

5.定義FirstPage、SecondPage類,使其繼承Screen類別的屬性及方法(函式)

6.定義Manager類,使其繼承ScreenManager類別的屬性及方法(函式)

7.在Manager類別裡面,創建變數tra,使其為ObjectProperty類,並繼承FadeTransition類,代表現在screen切換模式為FadeTransition

8.定義main類,使其繼承App類,創建函式build(),並回傳Manager類別內容


vocus|新世代的創作平台

▲說明:main.py程式碼

2.在VSCode新增(kivy)檔案,取名 main.kv

kivy language,我使用的是"相同命名方式",如果不太懂我說的,可參考:【kivy language】如何使用 kivy language(kv)。

vocus|新世代的創作平台

▲說明:我的是放在以下路徑:桌面-> python-> Kivy-> test

3.加入main.kv內容

以下.kv程式碼:(在vscode編輯kivy檔案,取名為main.kv,以下簡稱.kv)

<FirstPage>
name: 'firstpage'

BoxLayout:
Button:
text: 'go to secondpage'
on_release: root.manager.current = 'secondpage'

<SecondPage>
name: 'secondpage'

BoxLayout:
Button:
text: 'go to firstpage'
on_release: root.manager.current = 'firstpage'

<Manager>
transition: root.tra
FirstPage:
SecondPage:

▲說明:

1.在<firstpage>裡面加入 name參數,並使其等於 'firstpage'

2.加入Button物件,使用觸發函式on_release,並呼叫 manager.current函式,用來決定目前screen呈現為secondpage,可參考:【kivy Button】經常使用的Button(按鈕)語法

3.在<SecondPage>裡面加入 name參數,並使其等於 'secondpage'

4.加入Button物件,使用觸發函式on_release,並呼叫 manager.current函式,用來決定目前screen呈現為firstpage

5.在<Manager>裡面加入transition、FirstPage 以及SecondPage

6.並使transition參數等於根物件(也就是Manager類別)tra變數


vocus|新世代的創作平台

▲說明:main.kv程式碼

4.執行 Python檔案



請點擊網址觀看影片:

https://drive.google.com/drive/folders/1pSXcBXtauPKBURd72AVclh6BuhwoYuRX?usp=sharing

▲如影片1:新畫面在原地出現、(預設)轉換時間不到1秒

5.可改變轉換時間(註:不支援方向轉換設定)

以下.py程式碼:

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.screenmanager import Screen, ScreenManager, FadeTransition
from kivy.properties import ObjectProperty

Window.size = (290,550)

class FirstPage(Screen):
pass

class SecondPage(Screen):
pass

class Manager(ScreenManager):
# 這邊更改,加入duration參數
tra = ObjectProperty(FadeTransition(duration=4))

class main(App):
def build(self):
return Manager()

if __name__ == "__main__":
main().run()

vocus|新世代的創作平台

▲說明:main.py程式碼

【說明】加入duration參數,轉換時間為4(s)

請點擊網址觀看影片:

https://drive.google.com/drive/folders/1pSXcBXtauPKBURd72AVclh6BuhwoYuRX?usp=sharing

▲如影片2:加入duration參數,轉換時間為4(s)

6.本篇小結

了解FadeTransition的基本語法,從原地位置以"淡出"及"淡入"方式轉換screen(畫面),並透過參數(duration)可改變切換時間。

本篇結束:

在自學路上遇到困難是很正常的事,只要堅持到底,相信就會有所成果,期勉大家一同努力。

留言
avatar-img
艾肯比工程師
4會員
77內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
2026/01/21
本篇文章將介紹 Kivy 的 ScreenManager 模組中的 RiseInTransition轉場效果,說明如何實現新畫面會從螢幕中央擴散,以「放大、淡入」的方式出現,並由透明轉成不透明顯現出新畫面的視覺效果,並可透過 duration 參數調整轉場時間。
Thumbnail
2026/01/21
本篇文章將介紹 Kivy 的 ScreenManager 模組中的 RiseInTransition轉場效果,說明如何實現新畫面會從螢幕中央擴散,以「放大、淡入」的方式出現,並由透明轉成不透明顯現出新畫面的視覺效果,並可透過 duration 參數調整轉場時間。
Thumbnail
2026/01/14
本文分享如何使用 Kivy 的 ScreenManager 模組中的 WipeTransition 來實現畫面轉場效果,透過「擦拭」的方式切換螢幕,並介紹如何設定轉場時間 (duration)。
Thumbnail
2026/01/14
本文分享如何使用 Kivy 的 ScreenManager 模組中的 WipeTransition 來實現畫面轉場效果,透過「擦拭」的方式切換螢幕,並介紹如何設定轉場時間 (duration)。
Thumbnail
2026/01/07
本篇文章將介紹 Kivy 的 ScreenManager 模組中的 FallOutTransition 轉場效果,說明如何實現畫面元素向中心淡出的視覺效果,並可透過 duration 參數調整轉場時間。
Thumbnail
2026/01/07
本篇文章將介紹 Kivy 的 ScreenManager 模組中的 FallOutTransition 轉場效果,說明如何實現畫面元素向中心淡出的視覺效果,並可透過 duration 參數調整轉場時間。
Thumbnail
看更多
你可能也想看
Thumbnail
在這篇文章中,我們將探討如何製作章節轉場動畫,讓您的作品更具吸引力。本文包含了準備素材、定義圖片、製作簡易動畫等步驟,適合初學者進行學習和操作。我們提供了必要的資源和範例,讓您能輕鬆上手。期待透過這篇教學,能讓您在創作中達到更高的境界!
Thumbnail
在這篇文章中,我們將探討如何製作章節轉場動畫,讓您的作品更具吸引力。本文包含了準備素材、定義圖片、製作簡易動畫等步驟,適合初學者進行學習和操作。我們提供了必要的資源和範例,讓您能輕鬆上手。期待透過這篇教學,能讓您在創作中達到更高的境界!
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
這一篇要測試一下Video Linear CFG Guidance這個節點,在網路上很多的教學影片跟網友分享的工作流中會看到這個節點,據說這個節點不只可以用在生成影片的工作流中,也可以使用在一般的生成圖片工作流中。
Thumbnail
這一篇要測試一下Video Linear CFG Guidance這個節點,在網路上很多的教學影片跟網友分享的工作流中會看到這個節點,據說這個節點不只可以用在生成影片的工作流中,也可以使用在一般的生成圖片工作流中。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這個系列的教學會列出基本上所有常見的造型和一些基礎 , 讓各位可以自行搭配造型~在這個第四篇呢 , 我們會來一起了解:常見的窗口 / 框架造型定義他們的意思加了之後有什麼效果那就讓我們開始吧!
Thumbnail
這個系列的教學會列出基本上所有常見的造型和一些基礎 , 讓各位可以自行搭配造型~在這個第四篇呢 , 我們會來一起了解:常見的窗口 / 框架造型定義他們的意思加了之後有什麼效果那就讓我們開始吧!
Thumbnail
Ae 小技巧:Adjustment Layer 調整圖層 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
Ae 小技巧:Adjustment Layer 調整圖層 動態後記系列會記錄一些我在製作中的記錄,可能是分解動畫、小技巧、發想、腳本......等等。 每篇都是小短篇,就是補充用的小筆記,沒有前後順序,可跳著閱讀。
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
在這一章中,我們介紹了 CSS 的過渡效果和動畫效果。過渡效果使 CSS 屬性的變化更加平滑,而動畫效果則允許我們更精細地控制元素的多個屬性隨時間變化的過程。我們通過基本語法和示例展示了如何使用這些效果,並提供了一個綜合應用的實踐案例來幫助理解。這些技術可以讓你的網頁更具互動性和動態效果。
Thumbnail
在這一章中,我們介紹了 CSS 的過渡效果和動畫效果。過渡效果使 CSS 屬性的變化更加平滑,而動畫效果則允許我們更精細地控制元素的多個屬性隨時間變化的過程。我們通過基本語法和示例展示了如何使用這些效果,並提供了一個綜合應用的實踐案例來幫助理解。這些技術可以讓你的網頁更具互動性和動態效果。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News