kivy 基礎(chǔ): widget蔼啦, texture的使用

控件Widget是 Kivy 圖形界面中的基本元素搏色。控件提供了一個(gè)畫布Canvas明垢。

layout = BoxLayout(padding=10)

button = Button(text='My first button')

layout.add_widget(button)

layout 是button的父控件

button是layout的子控件

嘗試創(chuàng)建控件

class MyVideoBox(Widget):

? ? def __init__(self, **kwargs):

? ? ? ? super(MyVideoBox, self).__init__(**kwargs)

? ? ? ? with self.canvas:

? ? ? ? ? ? print self.x,self.y,self.width,self.height

加入到GridLayout蚣常,放到第四格的位置

class MainScreen(GridLayout):

? ? def __init__(self,**kwargs):

? ? ? ? super(MainScreen,self).__init__(**kwargs)

? ? ? ? self.cols = 2

? ? ? ? self.add_widget(Button(text="+"));

? ? ? ? self.add_widget(Button(text="+"));

? ? ? ? self.add_widget(Button(text="+"));

? ? ? ? #self.add_widget(Button(text="+"));

? ? ? ? self.add_widget(MyVideoBox())

但是效果是放在左下,而不是layout第四格的位置

打印是0 0 100 100

有點(diǎn)奇怪痊银,為什么不是相對位置呢?

修改一下

self.add_widget(MyVideoBox(pos=(800,0),size=(800,600)))

這下對了

打印是800 0 800 600

接下來為這個(gè)widget添加紋理

with self.canvas:

? ? print self.x,self.y,self.width, self.height

? ? self._texture = Texture.create(size=self.size)

? ? self._buffer = '\xf0\x20\x80' * 800 * 600

? ? self._texture.blit_buffer(self._buffer, colorfmt='rgb', bufferfmt='ubyte')

? ? Rectangle(pos=self.pos,size=self.size,texture=self._texture)

但是更新內(nèi)容測試一下抵蚊,添加按鍵

def on_touch_down(self, touch):

? ? print "touched"

? ? buf = '\x20\xf0\x80' * 800 * 600

? ? self._texture.blit_buffer(buf, colorfmt='rgb', bufferfmt='ubyte')

? ? return super(MyVideoBox, self).on_touch_down(touch)

打印有了,就是內(nèi)容沒變,怎么辦贞绳?

改變?nèi)缦?/p>

? ? self._texture.blit_buffer(buf, colorfmt='rgb', bufferfmt='ubyte')

self.canvas.ask_update()

成功

問題: remove_widget 不起作用

def __init__(self, **kwargs):

? ? super(MyVideoBox, self).__init__(**kwargs)

with self.canvas:

self.add_widget(self._button)

def on_touch_down(self, touch):

self.remove_widget(self._button)

解決:

移到cavas外面

def __init__(self, **kwargs):

? ? super(MyVideoBox, self).__init__(**kwargs)

self.add_widget(self._button)

with self.canvas:

def on_touch_down(self, touch):

self.remove_widget(self._button)

這樣可以了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谷醉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子冈闭,更是在濱河造成了極大的恐慌俱尼,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萎攒,死亡現(xiàn)場離奇詭異遇八,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)耍休,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門刃永,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人羊精,你說我怎么就攤上這事揽碘。” “怎么了园匹?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵雳刺,是天一觀的道長。 經(jīng)常有香客問我裸违,道長掖桦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任供汛,我火速辦了婚禮枪汪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怔昨。我一直安慰自己雀久,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布趁舀。 她就那樣靜靜地躺著赖捌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矮烹。 梳的紋絲不亂的頭發(fā)上越庇,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機(jī)與錄音奉狈,去河邊找鬼卤唉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛仁期,可吹牛的內(nèi)容都是我干的桑驱。 我是一名探鬼主播竭恬,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼熬的!你這毒婦竟也來了萍聊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤悦析,失蹤者是張志新(化名)和其女友劉穎寿桨,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體强戴,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡亭螟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骑歹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片预烙。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖道媚,靈堂內(nèi)的尸體忽然破棺而出扁掸,到底是詐尸還是另有隱情,我是刑警寧澤最域,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布谴分,位于F島的核電站,受9級特大地震影響镀脂,放射性物質(zhì)發(fā)生泄漏牺蹄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一薄翅、第九天 我趴在偏房一處隱蔽的房頂上張望沙兰。 院中可真熱鬧,春花似錦翘魄、人聲如沸鼎天。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斋射。三九已至,卻和暖如春光羞,著一層夾襖步出監(jiān)牢的瞬間绩鸣,已是汗流浹背怀大。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工纱兑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人化借。 一個(gè)月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓潜慎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子铐炫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • afinalAfinal是一個(gè)android的ioc垒手,orm框架 https://github.com/yangf...
    passiontim閱讀 15,429評論 2 45
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 6,409評論 0 17
  • 本篇文章是基于谷歌有關(guān)Graphic的一篇概覽文章的翻譯:http://source.android.com/de...
    lee_3do閱讀 7,123評論 2 21
  • 一直以來倒信,黑色的幕簾擋在門前科贬,遮下一整個(gè)季節(jié)的陽光。霉綠的青苔爬滿墻面鳖悠,厚厚的一層 也把墻角的銳利腐蝕榜掌,像黃...
    A克魯?shù)?/span>閱讀 255評論 0 0
  • 作業(yè)1、2乘综、3憎账、 看起來很簡單的線條,其實(shí)畫起來不太簡單卡辰。半個(gè)多小時(shí)才搞定~~
    扶搖搖搖搖搖搖閱讀 126評論 1 2