kivy學習筆記-轉到新介面之兩種方法
修改或切換應用程式介面顯示的Widgets方法如下例程(在上一篇筆記中程式碼的基礎上擴充套件),具體方法和說明見程式碼中的註釋:
MyForm: # 頂級GUI部件類
<MyForm>: # 定義MyForm類
orientation:"vertical" # 定義orientation屬性的值
text_input:text_box # 定義用於外部引用的名稱,指向id為text_box的GUI部件
BoxLayout: # 定義子GUI部件
height:"40dp" # 高度
size_hint_y:None # 縱向佔比
TextInput:
id:text_box
size_hint_x:50 # 橫向佔比(多個同級GUI部件的佔比比例來分配實際大小)
Button:
text:"Button A"
size_hint_x:20
on_press:root.buttona_act() # 指定Button被按下時執行的方法
Button:
text:"Button B"
size_hint_x:20
on_press:root.chg_widget() # 呼叫轉換介面方法
Button:
text:"Button C"
size_hint_x:10
on_press:root.chg_widget2() # 呼叫另一種轉換介面方法
< [email protected]>: # 定義另一個Widgets
Button:
text:"Button D"
from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.properties import ObjectProperty from kivy.uix.label import Label from kivy.factory import Factory class MyForm(BoxLayout): # 此處類定義雖然為空,但會將my.kv的GUI定義的相關“程式”引入,即相當於在此定義 text_input = ObjectProperty() # 在類中新增text_input屬性,對應kv檔案中用於外部引用的名稱,最終指向對應id的GUI部件 def buttona_act(self): print(self.text_input.text) # 獲取text_input所指向GUI部件的text值,並列印到控制檯 # 轉換介面方法1 def chg_widget(self): self.clear_widgets() self.add_widget(Label(text='location')) # 新增程式生成的Widget # 轉換介面方法2 def chg_widget2(self): self.clear_widgets() cur_wdgt = Factory.MyForm2() self.add_widget(cur_wdgt) # 新增kv檔案中定義的Widget class MyApp(App): # 類名MyApp 在執行時正好自動載入對應的my.kv檔案 pass MyApp().run()
執行效果圖:
1.程式的初始介面圖
2.點選Button B後的程式介面圖:
3.點選Button C後的程式介面圖:
相關推薦
kivy學習筆記-轉到新介面之兩種方法
修改或切換應用程式介面顯示的Widgets方法如下例程(在上一篇筆記中程式碼的基礎上擴充套件),具體方法和說明見程式碼中的註釋:MyForm: # 頂級GUI部件類 <MyForm&
學習筆記 Perl ->符號用法的兩種解釋
col debug blog 列表 cnblogs .com password pop 用法 Perl ->符號的主要用法解釋 Perl ->符號第一種用法,就是解引用。 根據->後面跟的符號的不同,解不同類型的引用,->[]表示解數組引用,-
OpenTK學習筆記(2)-工作窗口的三種方法創建方法(控制臺)
百度 ogr opened rgs 依據 想要 rds 窗口 gif 參考資料: 控制臺下類的形式創建:http://www.cnblogs.com/podolski/p/7406628.html 總結: 一、控制臺下類的形式創建 1.新建控制臺應用 2.連網執行Nug
Jmeter 跨線程組傳遞參數 之兩種方法(轉)
rgs 舉例 new 全局 div small jmeter 則表達式 ext 終於搞定了Jmeter跨線程組之間傳遞參數,這樣就不用每次發送請求B之前,都需要同時發送一下登錄接口(因為同一個線程組下的請求是同時發送的),只需要發送一次登錄請求,請求B直接用登錄請求的參數
Jmeter 跨線程組傳遞參數 之兩種方法
可能 spa 添加 all post edi 變量 sign 一個 終於搞定了Jmeter跨線程組之間傳遞參數,這樣就不用每次發送請求B之前,都需要同時發送一下登錄接口(因為同一個線程組下的請求是同時發送的),只需要發送一次登錄請求,請求B直接用登錄請求的參數即可,直到登
微信小程序--跳轉頁面常用的兩種方法
avi mage site product 小程序 src bsp XML 兩種 一.bindtap="onProductsItemTap"綁定點擊跳轉事件 在.wxml文件中綁定 在.js文件中實現綁定事件函數 二.navigator標簽配合URL跳轉
java程式將漢字轉成拼音的兩種方法-----------------第二種方式
同樣需要下載pom檔案,匯入相應的jar包!!!!!! import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPi
Windows遠端連線Linux介面的兩種方法
使用VNC連線,最簡單. 首先在linux端鍵入命令安裝vncserver #yum -y install vnc *vnc-server* 然後鍵入命令設定vncserver密碼 #vncpasswd 然後鍵入命令來檢視當前的vncserver埠 #vncserver 可以看
java程式將漢字轉成拼音的兩種方法
1.使用pinyin4j將漢字轉成拼音,附件為pinyin4j的jar包 Java程式碼 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.piny
得到當前系統的轉儲檔案的兩種方法
一種方法是通過使用者態下winDBG偵錯程式。winDBG的命令.dump,可以通過核心除錯會話來讀取被除錯系統的狀態資訊和記憶體資料,並以正常的格式輸出到指定的檔案中。命令的格式為 .dump c:\mydump.dmp 如果希望得到完全記憶體轉儲,則需要在檔名前加上
Java中char 轉化為int 的兩種方法
今天機試過程中遇到一個問題: 如何把 char ‘9’ 轉為 int 9, 大家應該知道,不能直接轉化,那樣得到是‘9’的Ascii. 如下面: public class IntAndCharConvertor { public static void main(Stri
DataGridView動態新增新行的兩種方法
DataGridViewRow row = new DataGridViewRow();DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell();textboxcell.Value = "aaa";row.Cells.Add(te
ASP.NET 動態轉靜態頁面的兩種方法總結
1、建立MyConvert.cs類檔案 using System; //記得新增以下三引用 using System.Text; using System.Web; using System.IO; namespace
skew偏度計算之兩種方法
方法一:Datafram.skew(axis=0) 例程: data_frame2= pd.DataFrame({'A':[1,2,3,4],'b':[1,0,3,1]}) data_frame2.skew(axis = 0) Out[62]: A 0.000000
Python Click 學習筆記(轉)
col 輸出 小工具 方法 chm 好的 put name 回調 原文鏈接:Python Click 學習筆記 Click 是 Flask 的團隊 pallets 開發的優秀開源項目,它為命令行工具的開發封裝了大量方法,使開發者只需要專註於功能實現。恰好我最近在開發的一個小
Java基礎學習筆記八 Java基礎語法之接口和多態
java cas 發現 過程 類類型 結果 覆寫 實例 new 接口 接口概念 接口是功能的集合,同樣可看做是一種數據類型,是比抽象類更為抽象的”類”。接口只描述所應該具備的方法,並沒有具體實現,具體的實現由接口的實現類(相當於接口的子類)來完成
Groovy學習筆記-Java 5新特性支持
analyze port static ring leg break main uniq size 1.枚舉enum enum CoffeeSize{ SHORT, SMALL, MEDIUM, LARGE, MUG
springmvc學習筆記(13)-springmvc註解開發之集合類型參數綁定
return 可擴展性 list .net items trac class javascrip lin springmvc學習筆記(13)-springmvc註解開發之集合類型參數綁定
python學習筆記(十一)之函數
last 函數返回 traceback keep disco show 全局變量 not 默認參數 牛刀小試: 定義一個無參函數 1 >>> def myFirstFunc(): 2 ... print("Hello python
python學習筆記(十五)之集合
head erro sdi pytho not in 註意 inter ren mod 集合:對應數學中的集合類型。集合中的元素是唯一,且無序的。 創建集合 方法一:使用{},註意python會自動刪除重復元素 >>> number = {1,2,3